Tôi đang cố gắng tạo cơ sở dữ liệu bằng hai phân vùng thô, tức là không được định dạng.
Microsoft Docs cho biết bạn có thể làm điều này, bạn chỉ cần chỉ định ký tự ổ đĩa của phân vùng thô, như trong:
CREATE DATABASE DirectDevice
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')
Tuy nhiên, SQL Server 2017 trả về lỗi này:
Msg 5170, Cấp 16, Trạng thái 4, Dòng 1
Không thể tạo tệp 'S:' vì nó đã tồn tại. Thay đổi đường dẫn tệp hoặc tên tệp và thử lại thao tác.
Msg 1802, Cấp 16, Bang 4, Dòng 1
TẠO RA CƠ SỞ thất bại. Một số tên tập tin liệt kê không thể được tạo ra. Kiểm tra các lỗi liên quan.
Các bit thích hợp của tài liệu nêu:
Nếu tệp nằm trên phân vùng thô, os_file_name phải chỉ định ký tự ổ đĩa của phân vùng thô hiện có. Chỉ có một tệp dữ liệu có thể được tạo trên mỗi phân vùng thô.
Và có, ổ S: và T: đều là các phân vùng thô chưa được định dạng tồn tại trong hệ thống của tôi:
DISKPART> phân vùng chi tiết Phân vùng 4 Loại: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Ẩn: Không Yêu cầu: Không Attrib: 0000000000000000 Bù đắp bằng byte: 999934656512 Tập ### Ltr Nhãn Fs Loại Kích thước Thông tin Trạng thái ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Tập 6 T Phân vùng RAW 127 MB Khỏe mạnh DISKPART> chọn phân vùng 3 Phân vùng 3 hiện là phân vùng đã chọn. DISKPART> phân vùng chi tiết Phân vùng 3 Loại: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Ẩn: Không Yêu cầu: Không Attrib: 0000000000000000 Bù đắp bằng byte: 1000067825664 Tập ### Ltr Nhãn Fs Loại Kích thước Thông tin Trạng thái ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Tập 7 S Phân vùng RAW 129 MB Khỏe mạnh
Loại bỏ dấu hai chấm khỏi các ký tự ổ đĩa, như trong FILENAME = 'S'
và FILENAME = 'T'
, kết quả là:
Msg 5105, Cấp 16, Trạng thái 2, Dòng 1
Xảy ra lỗi kích hoạt tệp. Tên tệp vật lý 'S' có thể không chính xác. Chẩn đoán và sửa lỗi bổ sung, và thử lại thao tác.
Msg 1802, Cấp 16, Trạng thái 1, Dòng 1
TẠO RA CƠ SỞ thất bại. Một số tên tập tin liệt kê không thể được tạo ra. Kiểm tra các lỗi liên quan.
Tài liệu SQL Server 2000 hiển thị ví dụ sau trong CREATE DATABASE
phần:
H. Sử dụng các phân vùng thô
Ví dụ này tạo ra một cơ sở dữ liệu gọi là Nhân viên sử dụng các phân vùng thô. Các phân vùng thô phải tồn tại khi câu lệnh được thực thi và chỉ một tệp có thể đi trên mỗi phân vùng thô.
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
Tuy nhiên, ví dụ chương trình trên SIZE
, MAXSIZE
và FILEGROWTH
các thông số được rõ ràng là không cần thiết cho SQL Server Data Files được lưu trữ trên phân vùng RAW.
Thông tin chi tiết từ tài liệu SQL Server 2000, đặc biệt liên quan đến các ổ đĩa thô:
Sử dụng phân vùng thô
Microsoft® SQL Server ™ 2000 hỗ trợ sử dụng các phân vùng thô để tạo tệp cơ sở dữ liệu. Phân vùng thô là phân vùng đĩa chưa được định dạng bằng hệ thống tệp Microsoft Windows NT®, chẳng hạn như FAT và NTFS. Trong một số trường hợp, sử dụng cơ sở dữ liệu được tạo trên các phân vùng thô có thể mang lại hiệu suất tăng nhẹ so với NTFS hoặc FAT. Tuy nhiên, đối với hầu hết các cài đặt, phương pháp ưa thích là sử dụng các tệp được tạo trên các phân vùng NTFS hoặc FAT. Khi tạo tệp cơ sở dữ liệu trên phân vùng thô, bạn không chỉ định tên vật lý của tệp chứa cơ sở dữ liệu; bạn chỉ định các ký tự ổ đĩa của các đĩa mà các tệp cơ sở dữ liệu sẽ được tạo. Nếu bạn đang sử dụng Microsoft Windows® 2000 Server, bạn có thể tạo các ổ đĩa được gắn để trỏ đến các phân vùng thô. Khi bạn gắn ổ đĩa cục bộ vào một thư mục trống, Windows 2000 chỉ định đường dẫn ổ đĩa cho ổ đĩa chứ không phải là ký tự ổ đĩa. Các ổ đĩa được gắn không phải tuân theo giới hạn 26 ổ đĩa được đặt bởi các ký tự ổ đĩa; do đó, bạn có thể sử dụng không giới hạn số lượng phân vùng thô. Khi bạn tạo tệp cơ sở dữ liệu trên ổ đĩa được gắn kết, bạn phải kết thúc đường dẫn ổ đĩa đến tên tệp bằng dấu gạch chéo ngược (), ví dụ: E: \ Tên mẫu. Để biết thông tin về cách tạo ổ đĩa được gắn, hãy xem tài liệu Windows 2000 Server.Có một số hạn chế cần xem xét khi sử dụng phân vùng thô:
Chỉ có thể tạo một tệp cơ sở dữ liệu trên mỗi phân vùng thô. Phân vùng logic phải được cấu hình dưới dạng một tệp cơ sở dữ liệu, vì không có hệ thống tệp trên phân vùng thô.Các hoạt động hệ thống tệp tiêu chuẩn như sao chép, di chuyển và xóa không thể được sử dụng với các phân vùng thô.
Các tệp cơ sở dữ liệu nằm trên các phân vùng thô không thể được sao lưu bằng tiện ích Sao lưu Windows NT. Tuy nhiên, cơ sở dữ liệu SQL Server hoặc sao lưu nhật ký giao dịch vẫn có thể được tạo.
Các tệp cơ sở dữ liệu trên các phân vùng thô không thể tự động mở rộng. Ban đầu, tạo cơ sở dữ liệu ở kích thước đầy đủ hoặc mở rộng thủ công các tệp cơ sở dữ liệu. Để biết thêm thông tin, xem Mở rộng cơ sở dữ liệu.
Chỉ các phân vùng chữ, chẳng hạn như E:, hoặc ổ đĩa được gắn, chẳng hạn như E: \ Tên mẫu \ có thể được sử dụng. Thiết bị đánh số không thể được sử dụng.
Các dịch vụ hệ thống tệp như thay thế khối xấu không có sẵn với các phân vùng thô.
Điều này được lấy cảm hứng từ bài đăng của Brent Ozar về SQL Server 6.5 , đã hỗ trợ các phân vùng thô