Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tìm hiểu cách Lưu trữ và Phân tích Tài liệu trên Hệ thống Tệp Windows với Tìm kiếm Ngữ nghĩa SQL Server - Phần 1

Bài viết kiểm tra việc lưu trữ dữ liệu phi cấu trúc bằng cách sử dụng cấu trúc thư mục windows gốc và quản lý nó thông qua cơ sở dữ liệu SQL Server. Sau đó, chúng tôi trình bày cách thực hiện phân tích so sánh với sự trợ giúp của Tìm kiếm ngữ nghĩa để lấy thông tin có giá trị từ dữ liệu. Ngoài ra, bạn sẽ có được một số kinh nghiệm thực tế về việc lưu trữ và liên kết tài liệu trên Hệ thống tệp của Windows và sử dụng Tìm kiếm ngữ nghĩa.

Điều quan trọng đối với cả người mới bắt đầu cơ sở dữ liệu và các chuyên gia là biết cách áp dụng các chiến lược lưu trữ tệp như Bảng tệp cho các công nghệ tìm kiếm như Tìm kiếm ngữ nghĩa để phân tích dữ liệu phi cấu trúc.

Điều kiện tiên quyết

Các điều kiện tiên quyết được đề cập trong phần này áp dụng cho toàn bộ bài viết, bao gồm ba phần.

Khái niệm bảng tệp

Sẽ không có ích gì nếu bạn có kiến ​​thức cơ bản về Bảng Tệp được sử dụng trong cơ sở dữ liệu SQL Server. Tuy nhiên, phần này của bài viết cung cấp thông tin chi tiết về cách sử dụng Bảng Tệp để lưu trữ tài liệu.

Các khái niệm tìm kiếm theo ngữ nghĩa

Vì mục tiêu cuối cùng của bài viết này là thực hiện phân tích so sánh bằng Tìm kiếm ngữ nghĩa, bạn nên nhận thức rõ về các khái niệm cơ bản sau đây, đặc biệt, nếu bạn quan tâm đến việc triển khai (các) hướng dẫn:

  1. Các khái niệm về Tìm kiếm Ngữ nghĩa.
  2. Các tài liệu cơ bản về phân tích so sánh.
  3. Cách sử dụng cơ bản của Tìm kiếm Ngữ nghĩa.

Vui lòng tham khảo bài viết Cách sử dụng Tìm kiếm ngữ nghĩa của SQL Server để đáp ứng các yêu cầu trên với điều kiện bạn có các kỹ năng T-SQL cơ bản.

Khái niệm cơ bản về Tìm kiếm Toàn văn

Ngoài ra, bạn được khuyến khích có kiến ​​thức về Tìm kiếm toàn văn bản, được cung cấp như một tiện ích bổ sung đặc biệt cùng với Tìm kiếm ngữ nghĩa trong quá trình cài đặt SQL Server.

Xin lưu ý rằng Tìm kiếm ngữ nghĩa cũng có thể được coi là một tính năng mở rộng của Tìm kiếm toàn văn bản vì nó không thể được triển khai nếu không đáp ứng các yêu cầu cơ bản của Tìm kiếm toàn văn bản.

Vui lòng tham khảo bài viết Triển khai tìm kiếm toàn văn bản trong SQL Server 2016 cho người mới bắt đầu để biết thêm thông tin về Tìm kiếm toàn văn bản.

Phiên bản SQL đang được sử dụng

Chúng tôi đang sử dụng phiên bản SQL Server 2016 trong bài viết này nhưng việc làm theo các bước sẽ không thành vấn đề với các phiên bản mới hơn với một vài ngoại lệ.

Thiết lập cơ sở dữ liệu đã kích hoạt FILESTREAM

Chúng tôi phải sử dụng một loại cơ sở dữ liệu đặc biệt có tên là Cơ sở dữ liệu đã kích hoạt FILESTREAM để lưu trữ tài liệu trên Hệ thống tệp của Windows và quản lý chúng bằng cơ sở dữ liệu SQL.

Có một số bước phải được hoàn thành trước khi chúng tôi có thể tạo loại cơ sở dữ liệu đặc biệt này.

Bật FILESTREAM ở Cấp phiên bản

Một trong những điều đầu tiên cần làm là bật FILESTREAM ở cấp phiên bản SQL Server.

Nhập Cấu hình SQL Server 2016 (hoặc phiên bản phiên bản SQL của bạn nếu không phải là SQL 2016) trong Hộp Tìm kiếm của Windows, thường nằm ở góc dưới cùng bên trái của thanh tác vụ, như được hiển thị bên dưới:

Nhấp để mở Trình quản lý cấu hình máy chủ SQL .

Định vị và nhấp chuột phải vào phiên bản SQL của bạn, đó là SQLTAB2016 trong trường hợp của chúng tôi và nhấp vào Thuộc tính trong Dịch vụ SQL:

Chọn Bật FILESTREAM để truy cập Giao dịch-SQL Bật FILESTREAM để truy cập I / O tệp trong FILESTREAM chuyển hướng. Nhập tên chia sẻ Windows phù hợp và nhấp vào OK , như hình dưới đây:

Thay đổi cấp độ truy cập FILESTREAM

Điều tiếp theo là thay đổi cấp độ truy cập FILESTREAM từ 0 thành 2 nếu nó chưa được thay đổi.

Chạy tập lệnh T-SQL sau trên cơ sở dữ liệu chính:

-- Enabling FILESTREAM for SQL instance in use
EXEC sp_configure filestream_access_level, 2  
RECONFIGURE

Kết quả như sau:

Hãy nhớ rằng sẽ ổn nếu bạn chạy tập lệnh trên ngay cả khi FILESTREAM đã được đặt thành 2.

Tạo một Thư mục Windows để lưu trữ cơ sở dữ liệu

Vui lòng tạo thư mục windows C:\ Sample \ Data nơi bạn sẽ lưu trữ thực tế cơ sở dữ liệu SQL của mình:

Bạn có thể chọn bất kỳ ổ nào ngoài ổ C.

Tạo cơ sở dữ liệu đã kích hoạt FILESTREAM

Bây giờ, hãy để chúng tôi tạo một cơ sở dữ liệu hỗ trợ FILESTREAM mới có tên Nhân viênFilestreamSample bằng cách chạy tập lệnh T-SQL sau trên cơ sở dữ liệu chính:

-- Creating FILESTREAM enabled database
CREATE DATABASE EmployeesFilestreamSample
ON
PRIMARY ( NAME = EmployeesSampleData,
    FILENAME = 'c:\sample\data\EmployeesFilestreamSample.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = EmployeesSampleFilestreamGroup,
    FILENAME = 'c:\sample\data\EmployeesSampleFilestreamGroup')
LOG ON  ( NAME = EmployeesSampleLog,
    FILENAME = 'c:\sample\data\EmployeesFilestreamLog.ldf')
GO

Kết quả như sau:

Cơ sở dữ liệu hỗ trợ FILESTREAM đã được tạo thành công.

Kiểm tra Cơ sở dữ liệu đã bật FILESTREAM

Đi tới Trình khám phá đối tượng và mở rộng NVFilestreamSample cơ sở dữ liệu trong Cơ sở dữ liệu để xem cơ sở dữ liệu FILESTREAM Enabled mới được tạo.

Thiết lập bảng tệp

Khi chúng tôi đã tạo cơ sở dữ liệu FILESTREAM Enabled, bước tiếp theo là thiết lập Bảng Tệp, điều này sẽ giúp chúng tôi lưu tài liệu của mình vào Hệ thống tệp của Windows.

Tên Thư mục FILESTREAM

Để tạo Bảng Tệp, chúng ta cần thực hiện một số thay đổi đối với các thuộc tính cơ sở dữ liệu chính.

Nhấp chuột phải vào cơ sở dữ liệu ( Nhân viênFilestreamSample ) trong Trình khám phá đối tượng và nhấp vào Thuộc tính :

Đi tới Tùy chọn Trang và tên FILESTREAM Tên thư mục với tư cách Nhân viênFilestreamDirectory, như thể hiện trong hình sau:

Đặt FILESTREAM Quyền truy cập không được giao dịch thành ĐẦY ĐỦ, như được hiển thị bên dưới, và nhấp vào OK:

Nhấp vào khi được hỏi liệu bạn có ổn khi thay đổi các thuộc tính và đóng tất cả các kết nối không:

Tạo bảng tệp

Tạo một Bảng Tệp mới để lưu trữ các tài liệu bằng cách nhập và thực thi tập lệnh T-SQL sau:

USE EmployeesFilestreamSample

-- Creating Employees FileTable sample
CREATE TABLE EmployeesDocumentStore AS FileTable  
    WITH (   
          FileTable_Directory = 'EmployeesSampleFilestreamGroup',  
          FileTable_Collate_Filename = database_default  
         );  
GO

Khám phá bảng tệp

Chọn Cơ sở dữ liệu => dbo.EaffeeDocumentStore => Tables => FileTables => Nhân viênDocumentStore.

Nhấp chuột phải vào Nhân viênDocumentStore và nhấp vào Khám phá Thư mục FileTable , như hình dưới đây:

Sửa lỗi vị trí tệp (lỗi của Microsoft)

Nếu bạn có thể xem thư mục nơi các tài liệu được cho là sẽ được lưu trữ, thì bạn đã sẵn sàng, nhưng nếu bạn gặp phải lỗi sau, thì bạn cần phải sửa nó trước:

Khắc phục:Lỗi “Không thể mở vị trí tệp” xảy ra khi bạn cố gắng mở thư mục FileTable trong SQL Server

Đây là một lỗi của Microsoft đã được Microsoft xác nhận:

Để khắc phục lỗi này, bạn phải chạy Cập nhật tích lũy 11 cho SQL Server 2016 SP2.

Vui lòng chạy bản sửa lỗi phù hợp với phiên bản SQL của bạn dựa trên phiên bản của nó nếu bạn không sử dụng phiên bản SQL Server được sử dụng trong bài viết này và gặp phải sự cố tương tự.

Tải xuống bản cập nhật nếu nó có thể áp dụng cho phiên bản SQL của bạn, như được hiển thị bên dưới:

Bạn phải chấp nhận các điều khoản và điều kiện để tiếp tục như sau:

Khi bản cập nhật được cài đặt thành công, bạn sẽ thấy thông báo sau:

Khám phá Bảng Tệp sau khi Giải quyết Lỗi Vị trí

Bây giờ, bạn sẽ có thể khám phá Thư mục FileTable:

Thư mục windows hiện có thể được lấp đầy bằng các tài liệu phi cấu trúc của bạn, chẳng hạn như tài liệu MS Word, như được hiển thị bên dưới:

Tạo và lưu tài liệu MS Word cho nhân viên

Tạo tài liệu MS Word mới và đặt tên là Asif Permanent Employee như hình dưới đây:

Thêm văn bản sau vào tài liệu Word này và đảm bảo dòng đầu tiên là tiêu đề của tài liệu:

Asif Permanent Employee
Asif is a very experienced Project Manager with a solid programming background and highly skilled to work on data warehouse business intelligence (BI) solutions.
He is a quick learner and can work on multiple technologies and tools.
He has excellent communication skills and his overall rating is very good.

Nhớ lưu tài liệu.

Tạo một tài liệu MS Word khác và đặt tên là Peter Permanent Employee với văn bản sau trong đó dòng đầu tiên là tiêu đề của tài liệu :

Peter Permanent Employee
Peter is a fresh Project Manager with a very strong programming background and highly skilled to work on data warehouse business intelligence (BI) solutions.
He can work with multiple teams and on multiple projects.
He has excellent business skills and his overall rating is good.

Hãy nhớ lưu tài liệu, tài liệu này phải chứa văn bản sau:

Xem tài liệu đã lưu trữ

Nhập mã SQL sau để xem cách cơ sở dữ liệu SQL đã lưu trữ các tài liệu này:

-- View files stored on Windows File System managed by File Table in SQL Database
SELECT stream_id
      ,file_stream
      ,[name]
      ,file_type
      ,cached_file_size
	  ,creation_time
FROM EmployeesFilestreamSample.dbo.EmployeesDocumentStore

Kết quả như sau:

Xin chúc mừng! Bạn đã thiết lập thành công Cơ sở dữ liệu được kích hoạt FILESTREAM để lưu trữ tài liệu trên Hệ thống tệp Windows do cơ sở dữ liệu SQL quản lý.

Nói cách khác, giờ đây bạn có thể tận dụng tối đa Hệ thống tệp của Windows bằng cách thoải mái tạo và lưu trữ các tài liệu phi cấu trúc trong khi mặt khác, bạn có thể quản lý đầy đủ các tài liệu được lưu trữ này thông qua kiến ​​trúc nhất quán của cơ sở dữ liệu.

Vui lòng không xóa các tài liệu này nếu bạn muốn tiếp tục hướng dẫn và giữ liên lạc vì chúng tôi sẽ thực hiện phân tích so sánh trên các tài liệu được lưu trữ bằng Tìm kiếm ngữ nghĩa trong phần tiếp theo của bài viết này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi sử dụng GETDATE () ở nhiều nơi, tốt hơn là sử dụng một biến?

  2. Thêm màu hàng xen kẽ vào báo cáo Dịch vụ báo cáo máy chủ SQL

  3. Cách hàm NCHAR () hoạt động trong SQL Server (T-SQL)

  4. Cách thay đổi mức độ tương thích của cơ sở dữ liệu với T-SQL

  5. Cách hàm CHAR () hoạt động trong SQL Server (T-SQL)