База данных SQL Server: создание, изменение, удаление и восстановление.

⚡ Умное резюме

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

  • 🇧🇷 База данных: База данных SQL Server хранит таблицы, представления, процедуры и функции в одном организованном, взаимосвязанном контейнере.
  • 🧩 Система против пользователя: Системные базы данных (master, msdb, model, tempdb, resource) устанавливаются автоматически; пользовательские базы данных создаются вами.
  • 🇧🇷 Создайте: Добавьте базу данных через диалоговое окно «Новая база данных» в обозревателе объектов или с помощью оператора CREATE DATABASE.
  • 🇧🇷 Возраст: Переименуйте базу данных или измените ее файлы и параметры с помощью команды ALTER DATABASE или меню «Переименовать».
  • 🇧🇷 Бросьте: Удалите базу данных пользователей с помощью команды DROP DATABASE или опции Delete; системные базы данных удалить нельзя.
  • 💾 Восстановить: Восстановите базу данных из файла резервной копии .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.

В 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 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 не допускается в явной или неявной транзакции.

В SQL Server существует 2 способа изменить базу данных:

  • Студия управления SQL Server
  • Транзакт-SQL

Как изменить базу данных в SQL Server Management Studio

Ниже описаны шаги по изменению базы данных в SQL Server Management Studio. Давайте попробуем изменить имя нашей предварительно созданной базы данных «Edu». Предварительно созданная база данных Edu показана ниже в обозревателе объектов.

В списке баз данных обозревателя объектов выбрана предварительно созданная база данных Edu.

Шаг 1) Переименуйте базу данных. Щелкните правой кнопкой мыши по имени базы данных и выберите «Переименовать».

Щелкните правой кнопкой мыши по контекстному меню базы данных Edu и выберите пункт «Переименовать».

Шаг 2) Имя базы данных становится доступным для редактирования. Введите новое имя и нажмите Enter.

Редактируемое поле имени в базе данных Edu, готовое для ввода нового имени.

Результат: База данных теперь переименована из 'Edu' в 'Edu'.

В обозревателе объектов отображается база данных, переименованная из 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.

Удалить базу данных

В SQL Server существует 2 способа удалить (удалить) базу данных:

  • Студия управления SQL Server
  • Транзакт-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'

Вы также можете использовать навигацию через графический интерфейс: щелкните правой кнопкой мыши на «База данных» > «Восстановить базу данных» > «Устройство» > импортируйте файл резервной копии > нажмите «ОК».

Часто задаваемые вопросы (FAQ)

Для создания базы данных требуется разрешение CREATE DATABASE, CREATE ANY DATABASE или ALTER ANY DATABASE в главной базе данных. Необходимо наличие серверной роли sysadmin или dbcreator, либо соответствующих прав доступа. Войти, можно выполнить это утверждение.

Один экземпляр SQL Server может вместить до 32 767 баз данных. Это жесткое архитектурное ограничение; на практике, с учетом затрат памяти, хранилища и администрирования, для обеспечения хорошей производительности целесообразно использовать гораздо меньшее количество баз данных.

Нет. Системные базы данных, такие как master, model, msdb, tempdb и resource, необходимы для работы движка и не могут быть удалены. Удалить можно только созданные вами пользовательские базы данных с помощью команды DROP DATABASE или опции Delete.

Параметр SIZE задает начальный размер файла, MAXSIZE — максимальный размер, до которого может увеличиться файл, а FILEGROWTH — объем добавляемого пространства при каждом расширении файла. Они применяются как к файлам данных, так и к файлам журналов.

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

Команда DROP DATABASE безвозвратно удаляет базу данных и ее файлы .mdf и .ldf. Удаление базы данныхLINE Доступ блокируется только при сохранении файлов на диске, поэтому вы сможете возобновить работу сервиса позже без восстановления.

Да. Второй пилот GitHub Можно создавать операторы CREATE DATABASE, ALTER DATABASE и DROP DATABASE на основе подсказок на естественном языке внутри SSMS или вашего редактора. Всегда проверяйте сгенерированные пути к файлам, их размеры и параметры перед запуском на реальном сервере.

Искусственный интеллект и машинное обучение помогают в процессе выделения ресурсов, рекомендуя размеры файлов и параметры роста, прогнозируя емкость, выявляя отклонения в конфигурации и помечая рискованные операции DROP или ALTER. Они поддерживают администратора базы данных, а не заменяют тщательный анализ.

Подведем итог этой публикации следующим образом: