Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Belajar Menyimpan dan Menganalisis Dokumen di Sistem File Windows dengan Pencarian Semantik SQL Server – Bagian 1

Artikel ini membahas penyimpanan data tidak terstruktur menggunakan struktur direktori windows asli dan mengelolanya melalui database SQL Server. Selanjutnya, kami mendemonstrasikan bagaimana melakukan analisis komparatif dengan bantuan Pencarian Semantik untuk mendapatkan informasi berharga dari data. Selain itu, Anda akan mendapatkan pengalaman langsung dalam menyimpan dan menautkan dokumen di Sistem File Windows dan menggunakan Pencarian Semantik.

Sangat penting bagi pemula dan profesional basis data untuk mengetahui bagaimana menerapkan strategi penyimpanan file seperti Tabel File ke teknologi pencarian seperti Pencarian Semantik untuk analisis data tidak terstruktur.

Prasyarat

Prasyarat yang disebutkan di bagian ini berlaku untuk artikel lengkap, yang terdiri dari tiga bagian.

Konsep Tabel File

Tidak ada salahnya untuk memiliki pengetahuan dasar tentang Tabel File yang digunakan dalam database SQL Server. Meskipun demikian, bagian artikel ini memberikan informasi terperinci tentang cara menggunakan Tabel File untuk menyimpan dokumen.

Konsep Pencarian Semantik

Karena tujuan akhir artikel ini adalah untuk melakukan analisis komparatif menggunakan Penelusuran Semantik, sangat disarankan untuk memahami konsep dasar berikut ini, khususnya, jika Anda tertarik untuk menerapkan panduan:

  1. Konsep Penelusuran Semantik.
  2. Dasar-dasar analisis komparatif dokumen.
  3. Penggunaan dasar Penelusuran Semantik.

Silakan merujuk ke artikel Cara menggunakan Pencarian Semantik SQL Server untuk memenuhi persyaratan di atas asalkan Anda memiliki keterampilan T-SQL dasar.

Dasar-dasar Pencarian Teks Lengkap

Selain itu, Anda didorong untuk memiliki pengetahuan tentang Pencarian Teks Lengkap, yang ditawarkan sebagai tambahan khusus bersama Pencarian Semantik selama instalasi SQL Server.

Harap dicatat bahwa Pencarian Semantik juga dapat dianggap sebagai fitur tambahan dari Pencarian Teks Lengkap karena tidak dapat diterapkan tanpa memenuhi persyaratan dasar Pencarian Teks Lengkap.

Silakan merujuk ke artikel Menerapkan Pencarian Teks Lengkap di SQL Server 2016 untuk pemula untuk mendapatkan informasi lebih lanjut tentang Pencarian Teks Lengkap.

Instance SQL sedang digunakan

Kami menggunakan versi SQL Server 2016 dalam artikel ini tetapi mengikuti langkah-langkah seharusnya tidak menjadi masalah dengan versi yang lebih baru dengan beberapa pengecualian.

Siapkan FILESTREAM Diaktifkan Basis Data

Kita harus menggunakan jenis database khusus yang disebut FILESTREAM Enabled Database untuk menyimpan dokumen di Sistem File Windows dan mengelolanya dengan database SQL.

Ada beberapa langkah yang harus diselesaikan sebelum kita bisa membuat database tipe khusus ini.

Aktifkan FILESTREAM di Tingkat Instance

Salah satu hal pertama yang harus dilakukan adalah mengaktifkan FILESTREAM di tingkat instance SQL Server.

Ketik Konfigurasi SQL Server 2016 (atau versi instans SQL Anda jika selain SQL 2016) di Kotak Pencarian Windows, umumnya terletak di sudut kiri bawah bilah tugas, seperti yang ditunjukkan di bawah ini:

Klik untuk membuka Pengelola Konfigurasi Server SQL .

Cari dan klik kanan pada instance SQL Anda, yaitu SQLTAB2016 dalam kasus kami, dan klik Properti di bawah Layanan SQL:

Centang Aktifkan FILESTREAM untuk akses Transaksi-SQL dan Aktifkan FILESTREAM untuk akses I/O file di bawah FILESTREAM tab. Masukkan nama berbagi Windows yang sesuai juga dan klik OK , seperti yang ditunjukkan di bawah ini:

Ubah Tingkat Akses FILESTREAM

Hal selanjutnya adalah mengubah tingkat akses FILESTREAM dari 0 menjadi 2 jika belum diubah.

Jalankan skrip T-SQL berikut terhadap database master:

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

Outputnya adalah sebagai berikut:

Harap diingat tidak apa-apa jika Anda menjalankan skrip di atas meskipun FILESTREAM sudah disetel ke 2.

Buat Folder Windows untuk menyimpan database

Silakan buat folder windows C:\Sample\Data tempat Anda akan menyimpan database SQL secara fisik:

Anda dapat memilih drive apa pun selain drive C.

Buat Basis Data yang Diaktifkan FILESTREAM

Sekarang mari kita buat database baru yang mendukung FILESTREAM bernama EmployeesFilestreamSample dengan menjalankan skrip T-SQL berikut terhadap database master:

-- 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

Outputnya adalah sebagai berikut:

Basis data yang mengaktifkan FILESTREAM telah berhasil dibuat.

Periksa Basis Data yang Diaktifkan FILESTREAM

Buka Penjelajah Objek dan perluas EmployeesFilestreamSample database di bawah Database node untuk melihat database FILESTREAM Enabled yang baru dibuat.

Mengatur Tabel File

Setelah kita membuat database FILESTREAM Enabled, langkah selanjutnya adalah menyiapkan Tabel File, yang akan membantu kami menyimpan dokumen kami ke Sistem File Windows.

Nama Direktori FILESTREAM

Untuk membuat Tabel File, kita perlu membuat beberapa perubahan pada properti database utama.

Klik kanan database (EmployeeesFilestreamSample ) di Penjelajah Objek dan klik Properti :

Buka Opsi Halaman dan nama FILESTREAM Nama Direktori sebagai EmployeeesFilestreamDirectory, seperti yang ditunjukkan pada gambar berikut:

Setel FILESTREAM Akses yang Tidak Ditransaksikan ke FULL, seperti yang ditunjukkan di bawah ini, dan klik OK:

Klik Ya ketika ditanya apakah Anda boleh mengubah properti dan menutup semua koneksi:

Buat Tabel File

Buat Tabel File baru untuk menyimpan dokumen dengan mengetik dan mengeksekusi skrip T-SQL berikut:

USE EmployeesFilestreamSample

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

Jelajahi Tabel File

Pilih Database=> dbo.EmployeeDocumentStore=>Tabel =>FileTables => KaryawanDocumentStore.

Klik kanan pada EmployeesDocumentStore dan klik Jelajahi Direktori FileTable , seperti yang ditunjukkan di bawah ini:

Memperbaiki Kesalahan Lokasi File (bug Microsoft)

Jika Anda dapat melihat folder tempat dokumen seharusnya disimpan, maka Anda dapat melakukannya, tetapi jika Anda menemukan kesalahan berikut, maka Anda harus memperbaikinya terlebih dahulu:

PERBAIKI:Kesalahan "Lokasi berkas tidak dapat dibuka" terjadi saat Anda mencoba membuka direktori FileTable di SQL Server

Ini adalah bug Microsoft sebagaimana dikonfirmasi oleh Microsoft:

Untuk memperbaiki bug ini, Anda harus menjalankan Pembaruan Kumulatif 11 untuk SQL Server 2016 SP2.

Silakan jalankan perbaikan yang sesuai dengan contoh SQL Anda berdasarkan versinya jika Anda tidak menggunakan contoh SQL Server yang digunakan dalam artikel ini dan menghadapi masalah yang sama.

Unduh pembaruan jika itu berlaku untuk instance SQL Anda, seperti yang ditunjukkan di bawah ini:

Anda harus menerima syarat dan ketentuan untuk melanjutkan lebih lanjut sebagai berikut:

Setelah pembaruan berhasil diinstal, Anda akan melihat pesan berikut:

Jelajahi Tabel File setelah Menyelesaikan Kesalahan Lokasi

Sekarang, Anda seharusnya dapat menjelajahi Direktori FileTable:

Folder windows sekarang dapat diisi dengan dokumen-dokumen Anda yang tidak terstruktur seperti dokumen MS Word, seperti gambar di bawah ini:

Membuat dan Menyimpan Dokumen MS Word untuk Karyawan

Buat dokumen MS Word baru dan beri nama Asif Karyawan Tetap, seperti yang ditunjukkan di bawah ini:

Tambahkan teks berikut ke dokumen Word ini dan pastikan baris pertama adalah judul dokumen:

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.

Ingatlah untuk menyimpan dokumen.

Buat dokumen MS Word lain dan beri nama Peter Permanent Employee dengan teks berikut di mana baris pertama adalah judul dokumen:

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.

Harap ingat untuk menyimpan dokumen, yang seharusnya berisi teks berikut:

Lihat Dokumen Tersimpan

Ketik kode SQL berikut untuk melihat bagaimana database SQL menyimpan dokumen-dokumen ini:

-- 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

Outputnya adalah sebagai berikut:

Selamat! Anda telah berhasil menyiapkan FILESTREAM Enabled Database untuk menyimpan dokumen di Sistem File Windows yang dikelola oleh database SQL.

Dengan kata lain, Anda sekarang dapat memanfaatkan Windows File System dengan nyaman membuat dan menyimpan dokumen tidak terstruktur sementara, di sisi lain, Anda dapat sepenuhnya mengelola dokumen yang tersimpan ini melalui arsitektur database yang konsisten.

Harap jangan hapus dokumen ini jika Anda ingin melanjutkan penelusuran dan tetap berhubungan karena kami akan melakukan analisis komparatif pada dokumen yang disimpan menggunakan Penelusuran Semantik di bagian selanjutnya dari artikel ini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menggunakan predikat CONTAINS atau FREETEXT pada tabel atau tampilan terindeks karena tidak diindeks teks lengkap

  2. Mengapa mengeksekusi prosedur tersimpan lebih cepat daripada kueri SQL dari skrip?

  3. Bagaimana cara membuat Tabel Tertaut ODBC secara terprogram ke Tampilan SQL Server dan membuatnya dapat diedit?

  4. Klausa WHERE pada tipe data Teks SQL Server

  5. Kesalahan SQL Server 113:Tanda komentar akhir hilang '*/'