База данни на SQL Server: Създаване, промяна, премахване и възстановяване

⚡ Умно обобщение

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

  • 🗄️ База данни: Базата данни на SQL Server съхранява таблици, изгледи, процедури и функции в един организиран, взаимосвързан контейнер.
  • 🧩 Система срещу Потребител: Системните бази данни (master, msdb, model, tempdb, resource) се инсталират автоматично; потребителските бази данни се създават от вас.
  • 🖱️ Създаване на: Добавете база данни чрез диалоговия прозорец „Нова база данни“ на Object Explorer или с командата CREATE DATABASE.
  • ️ Alter: Преименувайте база данни или променете нейните файлове и опции, като използвате ALTER DATABASE или менюто Rename.
  • 🗑️ Изпускайте: Премахнете потребителска база данни с 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 трябва да се изпълнява в режим на автоматично записване (auto-commit).

Изображението по-долу очертава двата налични подхода за създаване на база данни в SQL Server.

Два начина за създаване на база данни на SQL Server: Management Studio и Transact-SQL

Има 2 начина за създаване на база данни в SQL Server:

Как да създадете база данни в SQL Server Management Studio

Ето стъпка по стъпка процес за създаване на база данни в SQL Server Management Studio:

Стъпка 1) Щракнете с десния бутон върху „База данни“ в прозореца „Object Explorer“ и след това изберете „Нова база данни“.

Менюто с десен бутон на мишката с опцията „Нова база данни“ е показано по-долу.

Контекстно меню с десния бутон върху възела „База данни“ в Object Explorer с избрана „Нова база данни“

Стъпка 2) Появява се екранът „Нова база данни“. Въведете „Име на базата данни“. Колоната „Логическо име“ се попълва автоматично със:

  • Edu – Тип на файла: Редове с данни и файлова група: PRIMARY
  • Edu_log – Тип файл: LOG и файлова група: „Не е приложимо“

Диалоговият прозорец „Нова база данни“ с името на базата данни и нейните логически файлове е показан по-долу.

Диалогов прозорец „Нова база данни“, показващ името на базата данни Edu и логическите файлове Edu и Edu_log

Тук:

  • A) Edu (тип на файл: Редове с данни, файлова група: PRIMARY) е .mdf файл с данни.
  • Б) Edu_log (Тип файл: LOG, Файлова група: „Не е приложимо“) е .ldf лог файлът.

Стъпка 3) (По избор) За по-сложни настройки можете да отидете на страниците „Опции“ и „Файлови групи“. На начинаещо ниво създаването на базата данни от раздела „Общи“ ще бъде достатъчно.

Страниците с опции и файлови групи са показани по-долу.

Нови страници с опции за база данни и файлови групи за разширени настройки

Стъпка 4) Кликнете върху „Добавяне“ (бутон OK), за да създадете базата данни.

Бутонът, който потвърждава създаването, е маркиран по-долу.

Бутонът OK в диалоговия прозорец „Нова база данни“, който създава базата данни Edu

Резултат: Базата данни „Edu“ е създадена. Можете да разширите базата данни „Edu“, която ще съдържа таблици, изгледи и т.н. Първоначално те са празни, докато не създадете нови таблици, изгледи и т.н.

Object Explorer, показващ новосъздадената база данни Edu с празните ѝ папки

Вижте изходната заявка: Можете да видите заявката за източник на новосъздадената база данни „Edu“. Придвижете се, както следва: Щракнете с десния бутон върху името на базата данни > Script Database as > CREATE To > New Query Editor Window.

Скриптиране на база данни като контекстно меню за създаване в нов прозорец на редактора на заявки

Прозорец на заявката: Генерираният скрипт 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 Object Explorer.

Object Explorer, показващ базата данни 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 )

Създадената база данни с нейните изрични данни и лог файлове се появява в Object Explorer, както е показано по-долу.

Object Explorer, показващ базата данни Edu_TSQL_file, създадена с изрични .mdf и .ldf файлове

Как да промените база данни

Подобно на заявката CREATE DATABASE, можете също да променяте база данни. Можете да преименувате базата данни, да промените местоположението на файла или настройката и други.

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

  • Изразът ALTER DATABASE трябва да се изпълнява в режим на автоматично записване (auto-commit).
  • ALTER DATABASE не е разрешено в явна или скрита транзакция.

Има 2 начина за промяна на база данни в SQL Server:

  • Студио за управление на SQL Server
  • 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“.

Object Explorer, показващ базата данни, преименувана от 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“, както е показано по-долу.

Object Explorer, показващ базата данни, преименувана на 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
  • Transact SQL

Как да премахнете база данни в SQL Server Management Studio

Следва процесът за премахване на база данни в SQL Server Management Studio. Нека опитаме да изтрием предварително създадената ни база данни „Edu_Alter“.

Стъпка 1) Щракнете с десния бутон върху базата данни, щракнете върху „Изтриване“ и след това върху „OK“.

Диалогов прозорец за изтриване на обект за пусканеping базата данни Edu_Alter в SSMS

Резултат: „Edu_Alter“ е изтрит от списъка с база данни „Object Explorer“.

Списък с бази данни на 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“, както е показано по-долу.

Списък с бази данни на 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 или опцията 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 файлове. Премахване на база данни OFFLINE спира достъпа само докато оставя файловете на диска, така че можете да го върнете онлайн по-късно без възстановяване.

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

Изкуственият интелект и машинното обучение подпомагат осигуряването, като препоръчват размери на файловете и настройки за растеж, прогнозират капацитет, забелязват отклонения в конфигурацията и сигнализират за рискови операции DROP или ALTER. Те подпомагат администратора на базата данни, вместо да заместват внимателния преглед.

Обобщете тази публикация с: