Bagikan melalui


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

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:

    1. \\<computer_name>\<filestream_share_name>.
    2. \\<VNN1>\<filestream_share_name> untuk grup ketersediaan 1.
    3. \\<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.