Mengaktifkan prasyarat untuk FileTable
Berlaku untuk: SQL Server
Menjelaskan cara mengaktifkan prasyarat untuk membuat dan menggunakan FileTables.
Mengaktifkan prasyarat untuk FileTable
Untuk mengaktifkan prasyarat untuk membuat dan menggunakan FileTables, aktifkan item berikut:
Pada tingkat instans:
Di tingkat database:
Mengaktifkan FILESTREAM di tingkat instans
FileTables memperluas kemampuan fitur FILESTREAM SQL Server. Anda harus mengaktifkan FILESTREAM untuk akses I/O file di tingkat Windows, dan pada instans SQL Server, sebelum Anda dapat membuat dan menggunakan FileTables.
Mengaktifkan FILESTREAM di tingkat instans
Untuk informasi tentang cara mengaktifkan FILESTREAM, lihat Mengaktifkan dan Mengonfigurasi FILESTREAM.
Saat Anda memanggil sp_configure
untuk mengaktifkan FILESTREAM di tingkat instans, Anda harus mengatur opsi ke filestream_access_level
2
. Untuk informasi selengkapnya, lihat Tingkat akses FILESTREAM (opsi konfigurasi server).
Izinkan FILESTREAM melalui firewall
Untuk informasi tentang cara mengizinkan FILESTREAM melalui firewall, lihat Mengonfigurasi Firewall untuk Akses FILESTREAM.
Menyediakan grup file FILESTREAM di tingkat database
Sebelum Anda bisa membuat FileTables dalam database, database harus memiliki grup file FILESTREAM. Untuk informasi selengkapnya tentang prasyarat ini, lihat Membuat Database yang Diaktifkan FILESTREAM.
Mengaktifkan akses nontransaksi di tingkat database
FileTable memungkinkan aplikasi Windows mendapatkan handel file Windows ke data FILESTREAM tanpa memerlukan transaksi. Untuk mengizinkan akses nontransaksi ini ke file yang disimpan di SQL Server, Anda harus menentukan tingkat akses nontransaksi yang diinginkan di tingkat database untuk setiap database yang akan berisi FileTables.
Periksa apakah akses nontransaksi diaktifkan pada database
Kueri tampilan katalog sys.database_filestream_options (Transact-SQL) dan periksa non_transacted_access
kolom dan non_transacted_access_desc
.
SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
FROM sys.database_filestream_options;
GO
Mengaktifkan akses nontransaksi di tingkat database
Tingkat akses nontransaksi yang tersedia adalah FULL, READ_ONLY, dan OFF.
Tentukan tingkat akses nontransaksi dengan Transact-SQL
Saat Anda membuat database baru, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan NON_TRANSACTED_ACCESS
opsi FILESTREAM.
CREATE DATABASE database_name
WITH FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
Saat Anda mengubah database yang sudah ada, panggil pernyataan ALTER DATABASE (Transact-SQL) dengan NON_TRANSACTED_ACCESS
opsi FILESTREAM.
ALTER DATABASE database_name
SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
Tentukan tingkat akses nontransaksi dengan SQL Server Management Studio
Anda dapat menentukan tingkat akses nontransaksi di bidang FILESTREAM Akses Nontransaksi dari halaman Opsi dari kotak dialog Properti Database. Untuk informasi selengkapnya tentang kotak dialog ini, lihat Properti Database (Halaman Opsi).
Tentukan direktori untuk FileTables di tingkat database
Saat Anda mengaktifkan akses nontransaksi ke file di tingkat database, Anda dapat secara opsional memberikan nama direktori secara bersamaan DIRECTORY_NAME
dengan opsi . Jika Anda tidak memberikan nama direktori saat mengaktifkan akses nontransaksi, maka Anda harus menyediakannya nanti sebelum Anda dapat membuat FileTables di database.
Dalam hierarki folder FileTable, direktori tingkat database ini menjadi turunan dari nama berbagi yang ditentukan untuk FILESTREAM di tingkat instans, dan induk FileTables yang dibuat dalam database. Untuk informasi selengkapnya, lihat Bekerja dengan Direktori dan Jalur di FileTables.
Tentukan direktori untuk FileTables di Tingkat database
Nama yang Anda tentukan harus unik di seluruh instans untuk direktori tingkat database.
Tentukan direktori untuk FileTables dengan Transact-SQL
Saat Anda membuat database baru, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan DIRECTORY_NAME
opsi FILESTREAM.
CREATE DATABASE database_name
WITH FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
GO
Saat Anda mengubah database yang sudah ada, panggil pernyataan ALTER DATABASE (Transact-SQL) dengan DIRECTORY_NAME
opsi FILESTREAM. Saat Anda menggunakan opsi ini untuk mengubah nama direktori, database harus dikunci secara eksklusif, tanpa handel file yang terbuka.
ALTER DATABASE database_name
SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' );
GO
Saat Anda melampirkan database, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan FOR ATTACH
opsi dan dengan DIRECTORY_NAME
opsi FILESTREAM.
CREATE DATABASE database_name
FOR ATTACH WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' );
GO
Saat Anda memulihkan database, panggil pernyataan RESTORE (Transact-SQL) dengan DIRECTORY_NAME
opsi FILESTREAM.
RESTORE DATABASE database_name
WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' );
GO
Tentukan direktori untuk FileTables dengan SQL Server Management Studio
Anda bisa menentukan nama direktori di bidang Nama Direktori FILESTREAM dari halaman Opsi dari kotak dialog Properti Database. Untuk informasi selengkapnya tentang kotak dialog ini, lihat Properti Database (Halaman Opsi).
Menampilkan nama direktori yang ada untuk instans
Untuk melihat daftar nama direktori yang ada untuk instans, kueri tampilan katalog sys.database_filestream_options (Transact-SQL) dan periksa filestream_database_directory_name
kolom.
SELECT DB_NAME ( database_id ), directory_name
FROM sys.database_filestream_options;
GO
Persyaratan dan batasan untuk direktori tingkat database
DIRECTORY_NAME
Mengatur bersifat opsional saat Anda memanggilCREATE DATABASE
atauALTER DATABASE
. Jika Anda tidak menentukan nilai untukDIRECTORY_NAME
, maka nama direktori tetap null. Namun Anda tidak dapat membuat FileTable di database hingga Anda menentukan nilai untukDIRECTORY_NAME
di tingkat database.Nama direktori yang Anda berikan harus mematuhi persyaratan sistem file untuk nama direktori yang valid.
Saat database berisi FileTables, Anda tidak dapat mengatur
DIRECTORY_NAME
kembali ke nilai null.Saat Anda melampirkan atau memulihkan database, operasi gagal jika database baru memiliki nilai untuk
DIRECTORY_NAME
database yang sudah ada di instans target. Tentukan nilai unik saatDIRECTORY_NAME
Anda memanggilCREATE DATABASE FOR ATTACH
atauRESTORE DATABASE
.Saat Anda memutakhirkan database yang sudah ada, nilainya
DIRECTORY_NAME
null.Saat Anda mengaktifkan atau menonaktifkan akses nontransaksi di tingkat database, operasi tidak memeriksa apakah nama direktori telah ditentukan, atau apakah itu unik.
Saat Anda menghapus database yang diaktifkan untuk FileTables, direktori tingkat database dan semua struktur direktori dari semua FileTables di bawahnya dihapus.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk