Menggunakan FILESTREAM dan FileTable dengan grup ketersediaan AlwaysOn
Berlaku untuk: SQL Server - Hanya Windows
Artikel ini berisi informasi tentang menggunakan fitur FILESTREAM dan FileTable dengan grup ketersediaan AlwaysOn di SQL Server.
Semua fungsionalitas FILESTREAM didukung. Setelah failover, data FILESTREAM dapat diakses pada replika sekunder yang dapat dibaca dan pada primer baru.
Fungsionalitas FileTable didukung sebagian. Setelah failover, data FileTable dapat diakses pada replika utama, tetapi data FileTable tidak dapat diakses pada replika sekunder yang dapat dibaca.
Prasyarat
- Sebelum menambahkan database yang menggunakan FILESTREAM, dengan atau tanpa FileTable, ke grup ketersediaan, pastikan bahwa FILESTREAM diaktifkan pada setiap instans server yang menghosting replika ketersediaan untuk grup ketersediaan. Untuk informasi selengkapnya, lihat Mengaktifkan dan Mengonfigurasi FILESTREAM.
- Pada kluster failover berbasis Windows Server 2012, Anda harus menerapkan perbaikan yang dibahas di Tidak dapat mengakses berbagi FILESTREAM VNN saat Anda menggunakan fitur FILESTREAM dan FileTable pada kluster failover berbasis Windows Server 2012 untuk mengakses berbagi file menggunakan Nama Jaringan Virtual (VNN). Perbaikan ini juga tersedia di Katalog Pembaruan Microsoft.
Gunakan Nama Jaringan Virtual (VPN) untuk akses FILESTREAM dan FileTable
Saat Anda mengaktifkan FILESTREAM pada instans SQL Server, berbagi tingkat instans dibuat untuk menyediakan akses ke data FILESTREAM. Anda mengakses berbagi ini dengan menggunakan nama komputer dalam format berikut:
\\<computer_name>\<filestream_share_name>
Namun, dalam grup ketersediaan AlwaysOn, nama komputer divirtualisasi dengan menggunakan Nama Jaringan Virtual, atau VNN. Ketika komputer adalah replika utama dalam grup ketersediaan, dan database dalam grup ketersediaan berisi data FILESTREAM, maka berbagi cakupan VNN juga dibuat untuk menyediakan akses ke data FILESTREAM. Ini tidak memengaruhi akses Transact-SQL ke data FILESTREAM. Namun aplikasi yang menggunakan API sistem file harus menggunakan berbagi cakupan VNN, yang memiliki jalur dalam format berikut:
\\<VNN>\<filestream_share_name>
Berbagi cakupan VNN ini dibuat ketika salah satu peristiwa berikut terjadi.
Anda menambahkan database yang berisi data FILESTREAM ke grup ketersediaan AlwaysOn pada replika utama. Dalam hal ini, berbagi
\\<computer_name>\<filestream_share_name>
sudah ada. Berbagi\\<VNN>\<filestream_share_name>
dibuat.Anda mengaktifkan FILESTREAM untuk akses streaming i/o file pada replika utama yang memiliki grup ketersediaan. Berbagi berikut dibuat:
\\<computer_name>\<filestream_share_name>
.\\<VNN1>\<filestream_share_name>
untuk grup ketersediaan 1.\\<VNN2>\<filestream_share_name>
untuk grup ketersediaan 2.
Berbagi cakupan VNN ini juga disebarluaskan ke semua replika sekunder.
Saat database yang berisi data FILESTREAM atau FileTable milik grup ketersediaan AlwaysOn:
Fungsi FILESTREAM dan FileTable menerima atau mengembalikan nama jaringan virtual (VPN) alih-alih nama komputer. Untuk informasi selengkapnya tentang fungsi-fungsi ini, lihat Fungsi FILESTREAM dan FileTable (Transact-SQL).
Semua akses ke data FILESTREAM atau FileTable melalui API sistem file harus menggunakan VPN alih-alih nama komputer.
Jika aplikasi Anda mencoba mengakses berbagi dengan menggunakan nama komputer dalam format \\<computer_name>\<filestream_share_name>
saat database adalah bagian dari grup ketersediaan, maka kesalahan dimunculkan.
Jika aplikasi Anda mencoba mengakses berbagi dengan menggunakan jalur cakupan VNN saat database bukan bagian dari grup ketersediaan, permintaan mungkin berhasil. Dalam hal ini, nama jaringan virtual diselesaikan ke nama komputer. Namun penggunaan ini sangat tidak disarankan, karena jalur cakupan VNN berhenti berfungsi jika grup ketersediaan dihilangkan.