База даних SQL Server: створення, зміна, видалення та відновлення

⚡ Розумний підсумок

Бази даних SQL Server – це контейнери, що містять таблиці, представлення, збережені процедури та інші об’єкти. Створення, зміна, видаленняping, а відновлення бази даних можна виконати за допомогою SQL Server Management Studio або за допомогою операторів Transact-SQL.

  • 🗄️ База даних: База даних SQL Server зберігає таблиці, подання, процедури та функції в одному організованому, взаємопов'язаному контейнері.
  • 🧩 Система проти користувача: Системні бази даних (master, msdb, model, tempdb, resource) встановлюються автоматично; бази даних користувачів створюються вами.
  • 🖱️ Створити: Додайте базу даних через діалогове вікно «Нова база даних» у провіднику об’єктів або за допомогою інструкції CREATE DATABASE.
  • ✏️ Alter: Перейменуйте базу даних або змініть її файли та параметри за допомогою команди ALTER DATABASE або меню Перейменувати.
  • 🗑️ Падіння: Видаліть базу даних користувачів за допомогою команди DROP DATABASE або опції Видалити; системні бази даних видалити неможливо.
  • 💾 Відновлення: Відновіть базу даних з резервної копії файлу .bak за допомогою команди RESTORE DATABASE.

Створення, зміна, видалення та відновлення бази даних SQL Server

Що таке база даних?

База даних – це сукупність об’єктів, таких як Таблиці, представлення, збережені процедури, тригери та функції. У SQL Server, база даних — це організований дім, де зберігаються та взаємопов’язані всі ці пов’язані об’єкти.

Розглянемо кілька прикладів з реального життя:

  • Книжкова шафа – це місце, де зберігаються книги.
  • Дім – це місце, де ми живемо.
  • Парковка — це місце, де паркуються транспортні засоби, і таких прикладів можна безліч.

Аналогічно, база даних є своєрідним домом для всіх наших таблиць, представлень та збережених процедур. Технічно, база даних зберігає дані в добре організованому вигляді для легкого доступу та пошуку. У SQL Server існує два типи баз даних:

  • Системні бази даних: Вони створюються автоматично під час інсталяції SQL Server. Вони відіграють вирішальну роль на сервері, особливо у забезпеченні правильної роботи об'єктів бази даних. Прикладами системних баз даних SQL Server є master, msdb, model, tempdb та resource.
  • Бази даних користувачів: Вони створюються користувачами баз даних, такими як ви, яким надано доступ до створення баз даних.

Правила створення бази даних

Спочатку потрібно знати основні правила створення нової бази даних:

  • Імена баз даних мають бути унікальними в межах екземпляра SQL Server.
  • Максимальна довжина імен бази даних – 128 символів.
  • Оператор CREATE DATABASE має виконуватися в режимі автоматичного фіксування змін.

На зображенні нижче показано два доступні підходи до створення бази даних у SQL Server.

Два способи створення бази даних SQL Server: Management Studio та Transact-SQL

Існує 2 способи створення бази даних у SQL Server:

Як створити базу даних у SQL Server Management Studio

Ось покрокова інструкція зі створення бази даних у SQL Server Management Studio:

Крок 1) Клацніть правою кнопкою миші на «Базі даних» у вікні «Провідник об’єктів» і виберіть «Нова база даних».

Нижче показано контекстне меню з опцією «Нова база даних», яке відображається після клацання правою кнопкою миші.

Контекстне меню вузла «База даних» у провіднику об’єктів з вибраною опцією «Нова база даних»

Крок 2) З’явиться екран «Нова база даних». Введіть «Назва бази даних». Стовпець «Логічна назва» автоматично заповнюється:

  • Edu – Тип файлу: Рядки даних та Група файлів: PRIMARY
  • Edu_log – Тип файлу: LOG та група файлів: «Не застосовується»

Діалогове вікно «Нова база даних» з назвою бази даних та її логічними файлами показано нижче.

Діалогове вікно «Нова база даних», що відображає назву бази даних Edu та логічні файли Edu та Edu_log

тут:

  • A) Edu (тип файлу: Рядки даних, група файлів: PRIMARY) – це файл даних .mdf.
  • B) Edu_log (тип файлу: LOG, група файлів: «Не застосовується») – це файл журналу .ldf.

Крок 3) (Необов’язково) Для складніших налаштувань можна перейти на сторінки «Параметри» та «Групи файлів». На початковому рівні достатньо створити базу даних на вкладці «Загальні».

Сторінки «Параметри» та «Групи файлів» показано нижче.

Нові сторінки «Параметри бази даних» та «Групи файлів» для розширених налаштувань

Крок 4) Натисніть кнопку «Додати» (кнопка «ОК»), щоб створити базу даних.

Кнопка, яка підтверджує створення, виділена нижче.

Кнопка «ОК» у діалоговому вікні «Нова база даних», яка створює базу даних Edu

Результат: База даних «Edu» створена. Ви можете розширити базу даних «Edu», яка міститиме таблиці, представлення тощо. Спочатку вони пусті, доки ви не створите нові таблиці, представлення тощо.

Провідник об'єктів, що показує щойно створену базу даних Edu з її пустими папками

Переглянути вихідний запит: Ви можете переглянути вихідний запит щойно створеної бази даних «Edu». Перейдіть до наступного: Клацніть правою кнопкою миші на назві бази даних > Створити базу даних як > СТВОРИТИ в > Нове вікно редактора запитів.

Скрипт бази даних як контекстне меню CREATE у новому вікні редактора запитів

Вікно запиту: Згенерований скрипт CREATE відкриється в новому вікні запиту, як показано нижче.

Вікно редактора запитів, що відображає автоматично згенерований скрипт CREATE DATABASE для Edu

Створити сценарій:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Створення бази даних за допомогою T-SQL

Інший метод полягає в тому, щоб написати T-SQL запит для створення бази даних, а потім виконати його. Розглянемо найпростіший T-SQL запит для створення бази даних.

Синтаксис:

CREATE DATABASE <Database_name>

Запит:

CREATE DATABASE [Edu_TSQL_file]

Натисніть кнопку «Виконати», щоб запустити запит, як показано нижче.

Кнопка «Виконати» на панелі інструментів SSMS, яка використовується для запуску запиту CREATE DATABASE

Результат: Ви можете побачити створений Edu_TSQL_file у Провіднику об'єктів SQL.

Провідник об'єктів, що містить список бази даних Edu_TSQL_file, створеної за допомогою Transact-SQL

Тепер давайте розглянемо, як створити базу даних з явними файлами .mdf та .ldf. Тут ви можете вказати розташування файлу як явну частину запиту.

Синтаксис:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Запит:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

База даних, створена з її явними даними та файлами журналів, відображається в Провіднику об'єктів, як показано нижче.

Провідник об'єктів, що показує базу даних Edu_TSQL_file, створену з явними файлами .mdf та .ldf

Як змінити базу даних

Як і у випадку із запитом CREATE DATABASE, ви також можете змінювати базу даних. Ви можете перейменувати базу даних, змінити розташування файлу або налаштування тощо.

Основні правила зміни бази даних:

  • Оператор ALTER DATABASE має виконуватися в режимі автоматичного підтвердження (або фіксації).
  • ALTER DATABASE не дозволяється в явній або неявній транзакції.

Існує 2 способи змінити базу даних у SQL Server:

  • SQL Server Management Studio
  • Transact-SQL

Як змінити базу даних у SQL Server Management Studio

Нижче наведено кроки для зміни бази даних у SQL Server Management Studio. Спробуємо змінити назву нашої попередньо створеної бази даних «Edu». Попередньо створена база даних Edu показана нижче в Object Explorer.

Попередньо створена база даних Edu, вибрана у списку баз даних Object Explorer

Крок 1) Перейменуйте базу даних. Клацніть правою кнопкою миші на назві бази даних і виберіть «Перейменувати».

Контекстне меню бази даних Edu з опцією «Перейменувати» у правому клацанні миші

Крок 2) Ім'я бази даних стане доступним для редагування. Введіть нове ім'я та натисніть Enter.

Поле назви бази даних Edu, яке можна редагувати, готове до нової назви

Результат: База даних тепер перейменована з «Edu» на «Edu_Alter».

Провідник об'єктів, що показує базу даних, перейменовану з Edu на Edu_Alter

Зміна бази даних за допомогою Transact-SQL

Тепер давайте змінимо базу даних за допомогою T-SQL.

Синтаксис:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Запит:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Запустіть наведений вище запит, натиснувши «Виконати».

Результат: База даних тепер перейменована з «Edu_TSQL» на «Edu_TSQL_Alter», як показано нижче.

Провідник об'єктів, що показує базу даних, перейменовану на Edu_TSQL_Alter після ALTER DATABASE

Загальний синтаксис: Повний синтаксис ALTER DATABASE підтримує багато параметрів, включаючи перейменування, сортування, параметри файлів та рівень сумісності.

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

Примітка: Рівні сумісності, показані вище, відображають старіші випуски. Поточні версії додають 150 (SQL Server 2019), 160 (SQL Server 2022) та 170 (SQL Server 2025), водночас підтримуючи кілька попередніх рівнів.

Зміна імені файлу .mdf/.ldf

Запит:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Перейменований логічний файл відображається у властивостях бази даних, як показано нижче.

Властивості бази даних, що підтверджують перейменований логічний файл Edu_TSQL_newName

Зміна розташування файлу .mdf/.ldf

Запит:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Оновлений шлях до файлу бази даних показано нижче.

Сторінка файлу бази даних, на якій показано нове розташування файлу журналу .ldf

Видалити базу даних

Існує 2 способи видалення (видалення) бази даних у SQL Server:

  • SQL Server Management Studio
  • Transact-SQL

Як видалити базу даних у SQL Server Management Studio

Нижче наведено процедуру видалення бази даних у SQL Server Management Studio. Спробуємо видалити нашу попередньо створену базу даних «Edu_Alter».

Крок 1) Клацніть правою кнопкою миші на базі даних, виберіть «Видалити», а потім натисніть «ОК».

Діалогове вікно видалення об'єкта для перетягуванняping база даних Edu_Alter у SSMS

Результат: «Edu_Alter» видалено зі списку бази даних «Провідник об’єктів».

Список баз даних Object Explorer після видалення бази даних Edu_Alter

Видалити базу даних за допомогою Transact-SQL

Давайте спробуємо видалити нашу попередньо створену базу даних 'Edu_TSQL_Alter'.

Синтаксис:

DROP DATABASE <Databse_name>

Запит:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Запустіть наведений вище запит, натиснувши «Виконати».

Результат: «Edu_TSQL_Alter» видалено зі списку бази даних «Провідник об’єктів», як показано нижче.

Список бази даних Object Explorer після видалення бази даних Edu_TSQL_Alter за допомогою T-SQL

Відновлення бази даних у SQL Server

Ви можете створити базу даних, відновивши базу даних, резервну копію якої було створено раніше. Це можна зробити, виконавши команду RESTORE DATABASE, синтаксис якої такий:

restore Database <database name> from disk = '<Backup file location + filename>

Запит слід виконувати у вікні запиту, як і попередні команди. Наприклад:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Ви також можете скористатися навігацією графічного інтерфейсу: клацніть правою кнопкою миші на База даних > Відновити базу даних > Пристрій > імпортувати файл резервної копії > натисніть OK.

Поширені запитання

Для створення бази даних потрібен дозвіл CREATE DATABASE (СТВОРИТИ БІЛЬШУ БАЗУ ДАННИХ), CREATE ANY DATABASE (СТВОРИТИ БУДЬ-ЯКУ БАЗУ ДАННИХ) або ALTER ANY DATABASE (ЗМІНИТИ БУДЬ-ЯКУ БАЗУ ДАННИХ) у головній базі даних. Член ролі сервера sysadmin або dbcreator або відповідний учасник. Логін, може виконати оператор.

Один екземпляр SQL Server може містити до 32 767 баз даних. Ця цифра є жорстким архітектурним обмеженням; на практиці, витрати пам'яті, сховища та адміністрування роблять набагато менші кількості доцільними для гарної продуктивності.

Ні. Системні бази даних, такі як master, model, msdb, tempdb та resource, потрібні для роботи механізму та не можуть бути видалені. Видалити можна лише створені вами бази даних користувачів за допомогою команди DROP DATABASE або опції «Видалити».

SIZE встановлює початковий розмір файлу, MAXSIZE встановлює найбільший розмір, до якого може збільшитися файл, а FILEGROWTH встановлює обсяг простору, який додається щоразу, коли файл розширюється. Вони застосовуються як до файлів даних, так і до файлів журналів.

COMPATIBILITY_LEVEL контролює поведінку обробки запитів, яку використовує база даних. Поточні значення включають 140 (SQL Server 2017), 150 (2019), 160 (2022) та 170 (2025). ALTER DATABASE SET COMPATIBILITY_LEVEL змінює його без переміщення бази даних на новий сервер.

DROP DATABASE остаточно видаляє базу даних та її файли .mdf та .ldf. Видалення бази даних OFFLINE зупиняє доступ лише тоді, коли файли залишаються на диску, щоб ви могли відновити його роботу пізніше без відновлення.

Так. Копілот GitHub може створювати оператори CREATE DATABASE, ALTER DATABASE та DROP DATABASE з підказок природною мовою в SSMS або вашому редакторі. Завжди перевіряйте шляхи до згенерованих файлів, розміри та параметри, перш ніж запускати їх на реальному сервері.

Штучний інтелект та машинне навчання допомагають у налаштуванні ресурсів, рекомендуючи розміри файлів та налаштування зростання, прогнозуючи пропускну здатність, виявляючи відхилення конфігурації та позначаючи ризиковані операції DROP або ALTER. Вони допомагають адміністратору бази даних, а не замінюють ретельний огляд.

Підсумуйте цей пост за допомогою: