Где хранятся базы данных SQL Server: размещение и структура хранения

Базы данных SQL Server хранятся в специально созданных для этого файловых группах. Файловые группы содержат физические файлы базы данных, такие как файлы данных (.mdf) и файлы журналов транзакций (.ldf).

Вот пример кода, который показывает, как создать новую базу данных с двумя файловыми группами и файлами данных:

   
CREATE DATABASE MyDatabase
ON 
(
   NAME = MyDataFile1,
   FILENAME = 'C:\SQLData\MyDataFile1.mdf',
   SIZE = 100MB,
   MAXSIZE = 500MB,
   FILEGROWTH = 10MB
)
LOG ON
(
   NAME = MyLogFile1,
   FILENAME = 'C:\SQLLogs\MyLogFile1.ldf',
   SIZE = 50MB,
   MAXSIZE = 200MB,
   FILEGROWTH = 5MB
);
   
   

В этом примере мы создаем базу данных "MyDatabase" с файловой группой, содержащей файл данных "MyDataFile1.mdf" и файл журнала транзакций "MyLogFile1.ldf".

Детальный ответ

Привет! Сегодня мы поговорим о том, где хранятся базы данных (БД) в SQL Server. Давайте разберем каждый аспект этого вопроса и рассмотрим примеры кода.

Файлы базы данных

SQL Server хранит данные базы данных в файлах. Важно понимать, что база данных состоит из нескольких файлов, а не только из одного. Основные файлы базы данных в SQL Server:

  • Primary data file (MDF): Это основной файл базы данных, в котором хранятся все данные и объекты. Он имеет расширение .mdf.
  • Secondary data file (NDF): Это дополнительный файл базы данных, который используется, когда основной файл не может хранить все данные. У него также расширение .ndf.
  • Log file (LDF): Этот файл содержит журнал транзакций, который записывает все изменения данных. У него расширение .ldf.

Пример:


-- Создание базы данных
CREATE DATABASE MyDatabase
ON 
( NAME = MyDatabase_Data,
    FILENAME = 'C:\Data\MyDatabaseData.mdf',
    SIZE = 10MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 5MB )
LOG ON
( NAME = MyDatabase_Log,
    FILENAME = 'C:\Data\MyDatabaseLog.ldf',
    SIZE = 1MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 1MB )
    

В этом примере мы создаем базу данных с именем "MyDatabase" и указываем размещение файлов данных и журнала. Файл данных будет храниться по пути 'C:\Data\MyDatabaseData.mdf', а файл журнала по пути 'C:\Data\MyDatabaseLog.ldf'.

Файловые группы

SQL Server также позволяет организовывать файлы базы данных в группы файлов (filegroups). Группа файлов - это логический контейнер для файлов, который облегчает управление и оптимизацию производительности базы данных.

Пример:


-- Создание файла группы
ALTER DATABASE MyDatabase ADD FILEGROUP MyFilegroup

-- Добавление файла в группу
ALTER DATABASE MyDatabase ADD FILE
(
    NAME = MyFile,
    FILENAME = 'C:\Data\MyFile.ndf',
    SIZE = 5MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 2MB
) TO FILEGROUP MyFilegroup
    

В этом примере мы создаем группу файлов с именем "MyFilegroup" для базы данных "MyDatabase" и добавляем файл с именем "MyFile" в эту группу. Файл будет храниться по пути 'C:\Data\MyFile.ndf'.

Файловая система или Azure Blob Storage

Файлы базы данных могут храниться в файловой системе сервера или в Azure Blob Storage, в зависимости от конфигурации и требований вашего приложения.

Пример:


-- Создание базы данных с файлами в файловой системе
CREATE DATABASE MyDatabase
ON 
( FILENAME = 'C:\Data\MyDatabase.mdf' ),
( FILENAME = 'C:\Data\MyDatabaseLog.ldf' )
FOR ATTACH
    

В этом примере мы создаем базу данных "MyDatabase" с файлами, которые уже существуют в файловой системе. Мы просто указываем пути файлов в операторе CREATE DATABASE.

Это лишь некоторые из способов хранения баз данных в SQL Server. Важно помнить, что правильное хранение баз данных является важной частью разработки и обеспечения производительности вашего приложения.

Надеюсь, эта статья помогла вам понять, где хранятся базы данных в SQL Server. Удачи в изучении!

Видео по теме

Урок 6 Экспорт и импорт базы данных в MS SQL Server

Создание, Удаление, Просмотр БД в MS SQL Server

2.9 Создание и перемещение базы данных, настройки MS SQL Server

Похожие статьи:

Как правильно вводить дату в SQL: основные принципы и рекомендации

Где хранятся базы данных SQL Server: размещение и структура хранения

🔌 Как правильно использовать INSERT в SQL для вставки данных в базу данных

Зачем нужны триггеры SQL: применение и основные преимущества