Я намагаюся створити базу даних за допомогою двох необроблених, тобто неформатованих, розділів.
Microsoft Docs стверджує, що ви можете це зробити, вам просто потрібно вказати лише букву диска необробленого розділу, як у:
CREATE DATABASE DirectDevice
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')
Однак SQL Server 2017 повертає цю помилку:
Msg 5170, рівень 16, стан 4, рядок 1
Неможливо створити файл 'S:', оскільки він вже існує. Змініть шлях до файлу або ім'я та повторіть операцію.
Msg 1802, рівень 16, стан 4, рядок 1
СТВОРИТИ ДАТАБАЗУ не вдалося. Не можна створити деякі перелічені імена файлів. Перевірте пов’язані помилки.
У відповідному біті документації зазначено:
Якщо файл знаходиться в необробленому розділі, os_file_name повинен вказати лише букву диска існуючого необробленого розділу. На кожному необробленому розділі можна створити лише один файл даних.
І так, диск S: і T: обидва неформатовані сирі розділи, які існують у моїй системі:
DISKPART> розділ деталей Розділ 4 Тип: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Приховано: Ні Обов’язковий: Ні Вкладення: 0000000000000000 Зсув у байтах: 999934656512 Том ### Ltr Label Fs Тип розміру Інформація про стан ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Том 6 T RAW розділ 127 Мб Здоровий DISKPART> виберіть розділ 3 Розділ 3 - це тепер обраний розділ. DISKPART> розділ деталей Розділ 3 Тип: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Приховано: Ні Обов’язковий: Ні Вкладення: 0000000000000000 Зсув у байтах: 1000067825664 Том ### Ltr Label 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, ви можете створити змонтовані диски, щоб вказувати на необроблені розділи. Коли ви монтуєте локальний диск у порожню папку, Windows 2000 призначає шлях до диска, а не літеру диска. Встановлені приводи не підпадають під ліміт 26 приводів, накладений літерами диска; отже, ви можете використовувати необмежену кількість необроблених розділів. Коли ви створюєте файл бази даних на змонтованому диску, ви повинні закінчити шлях диска до імені файлу із зворотною косою рисою (), наприклад, E: \ Sample name. Інформацію про створення змонтованого диска див. У документації на сервер Windows 2000.Існує кілька обмежень, які слід враховувати при використанні необроблених розділів:
На кожному необробленому розділі може бути створений лише один файл бази даних. Логічний розділ повинен бути налаштований як єдиний файл бази даних, оскільки в сирому розділі немає файлової системи.Стандартні операції з файловою системою, такі як копіювання, переміщення та видалення, не можна використовувати із необробленими розділами.
Файли баз даних, розташовані на необроблених розділах, не можна створити резервну копію за допомогою утиліти Windows NT Backup. Однак резервну копію бази даних або журналу транзакцій SQL Server все ще можна створити.
Файли бази даних на необроблених розділах не можна автоматично розширювати. Або спочатку створіть базу даних у повному розмірі, або розгорніть файли бази даних вручну. Для отримання додаткової інформації див. Розширення бази даних.
Можуть використовуватися лише літерні розділи, такі як E :, або встановлені диски, такі як E: \ Sample sample \. Пронумеровані пристрої не можна використовувати.
Служби файлової системи, такі як погана заміна блоків, не доступні для необроблених розділів.
Це був натхненний пост Brent Ozar в про SQL Server 6.5 , який зробив підтримку необроблених розділів