Bagikan melalui


Menggunakan FILESTREAM dan FileTable dengan grup ketersediaan Always On

Berlaku untuk:SQL Server di 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, bagian \\<computer_name>\<filestream_share_name> sudah ada. Saham \\<VNN>\<filestream_share_name> telah dibuat.

  • Anda mengaktifkan FILESTREAM untuk akses streaming i/o file pada replika utama yang memiliki grup ketersediaan. Saham berikut telah 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.

Bagian-bagian dengan cakupan VNN ini juga disebarkan 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 bagian berbagi dengan menggunakan nama komputer dalam format \\<computer_name>\<filestream_share_name> saat database merupakan bagian dari grup ketersediaan, maka kesalahan ditampilkan.

Jika aplikasi Anda mencoba mengakses share dengan menggunakan jalur terlingkup VNN saat database bukan bagian dari grup ketersediaan, permintaan tersebut mungkin akan berhasil. Dalam hal ini, nama jaringan virtual diselesaikan menjadi nama komputer. Namun, penggunaan ini sangat tidak disarankan, karena jalur yang dicakup oleh VNN akan tidak berfungsi jika grup ketersediaan dihapus.