Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 instance:
Di tingkat database:
Mengaktifkan FILESTREAM di Tingkat Instans
FileTables memperluas kemampuan fitur FILESTREAM SQL Server. Oleh karena itu Anda harus mengaktifkan FILESTREAM untuk akses I/O file di tingkat Windows dan pada instans SQL Server sebelum Anda dapat membuat dan menggunakan FileTables.
Cara: 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 filestream_access_level ke 2. Untuk informasi selengkapnya, lihat Opsi Konfigurasi Server tingkat akses filestream.
Cara: Izinkan FILESTREAM melalui Firewall
Untuk informasi tentang cara mengizinkan FILESTREAM melalui firewall, lihat Mengonfigurasi Firewall untuk Akses FILESTREAM.
Menyediakan Filegroup 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 Non-Transaksi di Tingkat Database
FileTable memungkinkan aplikasi Windows mendapatkan handle berkas Windows ke data FILESTREAM tanpa memerlukan transaksi. Untuk mengizinkan akses non-transaksional ini ke file yang disimpan di SQL Server, Anda harus menentukan tingkat akses non-transaksional yang diinginkan di tingkat database untuk setiap database yang akan berisi FileTables.
Cara: Memeriksa Apakah Akses Non-Transaksional Diaktifkan pada Database
Kueri tampilan katalog sys.database_filestream_options (Transact-SQL) dan periksa kolom non_transacted_access dan non_transacted_access_desc .
SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
FROM sys.database_filestream_options;
GO
Cara: Mengaktifkan Akses Non-Transaksi di Tingkat Database
Tingkat akses non-transaksi yang tersedia adalah FULL, READ_ONLY, dan OFF.
Tentukan tingkat akses non-transaksi dengan menggunakan Transact-SQL
- Saat Anda membuat database baru, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan opsi NON_TRANSACTED_ACCESS FILESTREAM.
```sql
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 opsi NON_TRANSACTED_ACCESS FILESTREAM.
ALTER DATABASE database_name SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' )
Tentukan tingkat akses non-transaksi dengan menggunakan SQL Server Management Studio
Anda dapat menentukan tingkat akses non-transaksi di bidang Akses Nontransaksi FILESTREAM dari halaman Opsi dari kotak dialog Properti Database . Untuk informasi selengkapnya tentang kotak dialog ini, lihat Properti Database (Halaman Opsi).
Menentukan Direktori untuk FileTables di Tingkat Database
Saat Anda mengaktifkan akses non-transaksional ke file di tingkat database, Anda dapat secara opsional memberikan nama direktori secara bersamaan dengan menggunakan opsi DIRECTORY_NAME . Jika Anda tidak memberikan nama direktori saat mengaktifkan akses non-transaksi, maka Anda harus menyediakannya nanti sebelum Anda dapat membuat FileTables di database.
Dalam hierarki folder FileTable, direktori tingkat database ini menjadi anak dari nama berbagi yang ditentukan untuk FILESTREAM di tingkat instans, dan induk dari FileTables yang dibuat dalam database. Untuk informasi selengkapnya, lihat Bekerja dengan Direktori dan Jalur di FileTables.
Cara: 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 menggunakan Transact-SQL
- Saat Anda membuat database baru, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan opsi DIRECTORY_NAME FILESTREAM.
```sql
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 opsi DIRECTORY_NAME FILESTREAM. Saat Anda menggunakan opsi ini untuk mengubah nama direktori, database harus dikunci secara eksklusif dan tanpa ada pegangan file yang aktif.
ALTER DATABASE database_name SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'directory_name' ); GOSaat Anda melampirkan database, panggil pernyataan CREATE DATABASE (SQL Server Transact-SQL) dengan opsi FOR ATTACH dan dengan opsi DIRECTORY_NAME FILESTREAM.
CREATE DATABASE database_name FOR ATTACH WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' ); GOSaat Anda memulihkan database, panggil pernyataan RESTORE (Transact-SQL) dengan opsi DIRECTORY_NAME FILESTREAM.
RESTORE DATABASE database_name WITH FILESTREAM ( DIRECTORY_NAME = N'directory_name' ); GO
Tentukan direktori untuk FileTables dengan menggunakan 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).
Cara: Melihat 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 kolom filestream_database_directory_name .
SELECT DB_NAME ( database_id ), directory_name
FROM sys.database_filestream_options;
GO
Persyaratan dan Pembatasan untuk Direktori Database-Level
Mengatur DIRECTORY_NAME bersifat opsional saat Anda memanggil CREATE DATABASE atau ALTER DATABASE. Jika Anda tidak menentukan nilai untuk DIRECTORY_NAME, maka nama direktori tetap null. Namun Anda tidak dapat membuat FileTable di database sampai Anda menentukan nilai untuk DIRECTORY_NAME di tingkat database.
Nama direktori yang Anda berikan harus mematuhi persyaratan sistem file untuk nama direktori yang valid.
Ketika 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 yang sudah ada di instans target. Tentukan nilai unik untuk DIRECTORY_NAME saat Anda memanggil CREATE DATABASE FOR ATTACH atau RESTORE DATABASE.
Saat Anda memutakhirkan database yang sudah ada ke SQL Server 2014, nilai DIRECTORY_NAME null.
Saat Anda mengaktifkan atau menonaktifkan akses non-transaksional di tingkat database, operasi tidak memeriksa apakah nama direktori telah ditentukan atau apakah itu unik.
Saat Anda menghapus database yang telah diaktifkan untuk FileTables, direktori tingkat database dan semua struktur direktori dari semua FileTables di bawahnya dihapus.