Я пытаюсь создать базу данных, используя два необработанных, то есть неформатированных раздела.
Microsoft Docs заявляет, что вы можете сделать это, вам просто нужно указать только букву диска исходного раздела, как в:
CREATE DATABASE DirectDevice
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')
Однако SQL Server 2017 возвращает эту ошибку:
Сообщение 5170, уровень 16, состояние 4, строка 1
Не удается создать файл «S:», поскольку он уже существует. Измените путь к файлу или имя файла и повторите операцию.
Сообщение 1802, Уровень 16, Состояние 4, Строка 1,
СОЗДАТЬ БАЗУ ДАННЫХ не удалось. Некоторые имена файлов не могут быть созданы. Проверьте связанные ошибки.
Соответствующая часть документации гласит:
Если файл находится в необработанном разделе, os_file_name должен указывать только букву диска существующего необработанного раздела. На каждом необработанном разделе может быть создан только один файл данных.
И да, диски S: и T: оба неформатированных необработанных раздела, которые существуют в моей системе:
DISKPART> подробный раздел Раздел 4 Тип: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Скрыто: нет Требуется: нет Атрибут: 0000000000000000 Смещение в байтах: 999934656512 Том ### Ltr Метка Fs Тип Размер Информация о статусе ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Том 6 T RAW Раздел 127 МБ Здоровый DISKPART> выбрать раздел 3 Раздел 3 теперь выбранный раздел. DISKPART> подробный раздел Раздел 3 Тип: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Скрыто: нет Требуется: нет Атрибут: 0000000000000000 Смещение в байтах: 1000067825664 Том ### Ltr Метка Fs Тип Размер Информация о статусе ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Том 7 S RAW Раздел 129 МБ Здоровый
Удаление двоеточия из букв дисков, как в FILENAME = 'S'
и FILENAME = 'T'
, приводит к:
Сообщение 5105, уровень 16, состояние 2, строка 1
Произошла ошибка активации файла. Физическое имя файла 'S' может быть неправильным. Диагностируйте и исправьте дополнительные ошибки и повторите операцию.
Сообщение 1802, уровень 16, состояние 1, строка 1
СОЗДАТЬ БАЗУ ДАННЫХ не удалось. Некоторые имена файлов не могут быть созданы. Проверьте связанные ошибки.
Документация по SQL Server 2000 показывает следующий пример в CREATE DATABASE
разделе:
H. Использовать необработанные разделы В
этом примере создается база данных с именем «Сотрудники» с использованием необработанных разделов. Необработанные разделы должны существовать при выполнении инструкции, и на каждый необработанный раздел может входить только один файл.
USE master
GO
CREATE DATABASE Employees
ON
( NAME = Empl_dat,
FILENAME = 'f:',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = 'Sales_log',
FILENAME = 'g:',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
Однако приведенный выше пример показывает SIZE
, MAXSIZE
, и FILEGROWTH
параметры , которые явно не требуется для SQL Server Файлы данных хранятся в разделах RAW.
Дополнительные сведения из документации по SQL Server 2000, в частности, касающиеся необработанных дисков:
Использование сырых разделов
Microsoft® SQL Server ™ 2000 поддерживает использование необработанных разделов для создания файлов базы данных. Необработанные разделы - это разделы диска, которые не были отформатированы в файловой системе Microsoft Windows NT®, такой как FAT и NTFS. В некоторых случаях использование баз данных, созданных в необработанных разделах, может привести к небольшому увеличению производительности по сравнению с NTFS или FAT. Однако для большинства установок предпочтительным методом является использование файлов, созданных в разделах NTFS или FAT. При создании файла базы данных в необработанном разделе вы не указываете физические имена файлов, составляющих базу данных; Вы указываете только буквы дисков, на которых должны быть созданы файлы базы данных. Если вы используете Microsoft Windows® 2000 Server, вы можете создавать подключенные диски, чтобы указывать на необработанные разделы. Когда вы монтируете локальный диск в пустую папку, Windows 2000 назначает путь к диску, а не букву диска. На подключенные диски не распространяется ограничение на 26 дисков, налагаемое буквами дисков; следовательно, вы можете использовать неограниченное количество необработанных разделов. Когда вы создаете файл базы данных на смонтированном диске, вы должны заканчивать путь диска к имени файла завершающей обратной косой чертой (), например, E: \ Sample name. Сведения о создании подключенного диска см. В документации по Windows 2000 Server.При использовании необработанных разделов необходимо учитывать несколько ограничений:
На каждом необработанном разделе может быть создан только один файл базы данных. Логический раздел должен быть настроен как один файл базы данных, поскольку в необработанном разделе нет файловой системы.Стандартные операции файловой системы, такие как копирование, перемещение и удаление, не могут использоваться с необработанными разделами.
Файлы базы данных, расположенные в необработанных разделах, не могут быть скопированы с помощью утилиты Windows NT Backup. Однако резервные копии базы данных SQL Server или журнала транзакций все еще могут быть созданы.
Файлы базы данных на сырых разделах не могут быть автоматически расширены. Либо изначально создайте базу данных в полном размере, либо вручную разверните файлы базы данных. Для получения дополнительной информации см. Расширение базы данных.
Можно использовать только разделы с буквами, такие как E: или подключенные диски, такие как E: \ Sample name \. Пронумерованные устройства не могут быть использованы.
Службы файловой системы, такие как замена поврежденных блоков, недоступны для необработанных разделов.
Это был вдохновлен пост Brent Ozar в о SQL Server 6.5 , который сделал поддержку необработанных разделов