Khi tính năng FILESTREAM được kích hoạt trên Microsoft SQL Server 2012 thì SQL Server sẽ tạo chia sẻ "ẩn" trên hệ thống. Chia sẻ được định nghĩa như sau:
Sharename FILESTREAM_SHARE
Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE
Remark SQL Server FILESTREAM share
Maximum users unlimited
Users Caching Manual caching of documents
Permissions NT-AUTHORITY\Authenticated Users, FULL
Tên là tên của chia sẻ mà bạn cung cấp khi định cấu hình ban đầu FILESTREAM trong Trình quản lý cấu hình máy chủ SQL . Nhưng nó để làm gì?
Cho đến nay
Tôi đã đọc qua tất cả các tài liệu FILESTREAM có sẵn bắt đầu từ:
- FILESTREAM (Máy chủ SQL)
- Kích hoạt và cấu hình FILESTREAM
- Tạo một cơ sở dữ liệu kích hoạt FILESTREAM
- Tạo một bảng để lưu trữ dữ liệu FILESTREAM
- ... và mọi thứ liên quan
- Khả năng tương thích của FILESTREAM với các tính năng khác của máy chủ SQL
- FILESTREAM DDL, Chức năng, Thủ tục lưu trữ và Chế độ xem
- Truy cập dữ liệu FILESTREAM với OpenSqlFilestream
- giấy SQL Server 2008 - Bộ lưu trữ FILESTREAM trong SQL Server 2008
- và bài viết FILESTREAM (OLTP) --- Hướng dẫn tham khảo kỹ thuật để thiết kế các giải pháp OLTP quan trọng - nhiệm vụ tham khảo nhiều tài liệu khác
... nhưng không có đề cập đến chia sẻ và những gì nó làm hoặc những gì nó được làm. Bạn nhập tên và SQL Server sẽ tạo phần chia sẻ.
Cơ sở dữ liệu hỗ trợ FILESTREAM
Khi bạn tạo cơ sở dữ liệu hỗ trợ FILESTREAM, cơ sở dữ liệu sẽ tham chiếu một nhóm tệp tham chiếu một thư mục (được khuyến nghị trên một ổ đĩa riêng) hoàn toàn không liên quan gì đến chia sẻ, ban đầu được tạo trong cấu hình FILESTREAM.
Ảnh chụp màn hình tập lệnh cơ sở dữ liệu hỗ trợ FILESTREAM
Vâng, tôi nhận ra rằng tất cả các đường dẫn đều nằm trên C:; nó chỉ là một ví dụ
Sách trắng của Paul Randall et al. tiếp tục khám phá rằng ...
Dữ liệu FILESTREAM được lưu trữ trong hệ thống tệp trong một tập hợp các thư mục NTFS được gọi là bộ chứa dữ liệu, tương ứng với các nhóm tệp đặc biệt trong cơ sở dữ liệu. Quyền truy cập giao dịch vào dữ liệu FILESTREAM được kiểm soát bởi SQL Server và trình điều khiển bộ lọc hệ thống tệp được cài đặt như một phần của việc bật FILESTREAM ở cấp độ Windows. Việc sử dụng trình điều khiển bộ lọc hệ thống tệp cũng cho phép truy cập từ xa vào dữ liệu FILESTREAM thông qua đường dẫn UNC. SQL Server duy trì một liên kết sắp xếp từ các hàng trong bảng đến các tệp FILESTREAM được liên kết với chúng. Điều này có nghĩa là việc xóa hoặc đổi tên bất kỳ tệp FILESTREAM trực tiếp thông qua hệ thống tệp sẽ dẫn đến hỏng cơ sở dữ liệu.
... tiếp tục xuống tài liệu (trang 14) họ tiếp tục với ...
Có một trình điều khiển bộ lọc hệ thống tệp FILESTREAM duy nhất cho mỗi ổ NTFS có bộ chứa dữ liệu FILESTREAM và cũng có một trình điều khiển cho mỗi phiên bản SQL Server có bộ chứa dữ liệu FILESTREAM trên ổ đĩa. Mỗi trình điều khiển bộ lọc chịu trách nhiệm quản lý tất cả các bộ chứa dữ liệu FILESTREAM cho khối lượng đó, cho tất cả các trường hợp sử dụng một phiên bản SQL Server cụ thể.
Ví dụ: một ổ NTFS đang lưu trữ ba bộ chứa dữ liệu FILESTREAM, một bộ chứa cho ba phiên bản SQL Server 2008, sẽ chỉ có một trình điều khiển bộ lọc hệ thống tệp SQL Server 2008 FILESTREAM.
Câu hỏi
- Thật tuyệt khi biết rằng SQL Server có mọi thứ tốt đẹp và được gắn kết, nhưng chia sẻ đó thực sự làm gì? Có phải cái gọi là "trình điều khiển bộ lọc hệ thống tập tin" không?
- Xem như bất kỳ người dùng được xác thực nào cũng có thể truy cập vào "chia sẻ", ý nghĩa bảo mật là gì?
- Thiết bị RsFx0320 có phải là tiền thân của định dạng hệ thống tệp đàn hồi được giới thiệu với Windows Server 2012 không?
Nếu bạn có thể cung cấp câu trả lời cho câu hỏi của tôi, thì thật tuyệt nếu bạn có thể cung cấp một tài liệu tham khảo nguồn.