Catatan
Setelah Anda menerapkan perbaikan terbaru ini, Anda harus mengaktifkan bendera pelacakan 1800 sebagai parameter permulaan pada semua server atau replika yang memiliki ukuran sektor fisik 512-byte dan memulainya kembali, untuk membuat perbaikan terbaru ini berfungsi dengan benar.
Gejala
Pertimbangkan skenario berikut:
-
Anda mengaktifkan fitur grup ketersediaan AlwaysOn atau Logshipping di Microsoft SQL Server.
-
Disk yang menyimpan file log replika utama dan sekunder dalam grup ketersediaan AlwaysOn (AG) memiliki ukuran sektor yang berbeda. Atau di lingkungan Logshipping, disk tempat penyimpanan file log untuk server utama Logshipping dan server sekunder Logshipping memiliki ukuran sektor yang berbeda. Misalnya:
-
File log replika utama terletak pada disk yang memiliki ukuran sektor 512 byte. Namun, file log sekunder replika terletak di disk yang memiliki ukuran sektor 4 kilobyte (KB).
-
File log replika utama terletak pada sistem lokal lokal yang memiliki ukuran sektor 512 byte. Namun, replika sekunder terletak di disk penyimpanan Windows Azure yang memiliki ukuran sektor 4 kilobyte (KB).
-
Dalam skenario ini, pesan kesalahan berikut ini dicatat dalam log kesalahan SQL Server. Pesan kesalahan mungkin berlanjut sebentar setelah memulai ulang jika sudah ada log yang tidak diterapkan ke sekunder sebelum memulai ulang server.
Ada X sejajar log IOs yang diperlukan untuk jatuh kembali ke IO sinkron. IO saat ini berada pada file....
Selain itu, sinkronisasi AG atau Logshipping berjalan sangat lambat karena I/OS sinkron. Jika replika sekunder dalam Windows Azure penyimpanan, memerlukan waktu lebih lama dari yang diharapkan untuk menyelesaikan proses sinkronisasi. Catatan Masalah ini terjadi ketika Anda menggunakan drive baru yang memiliki ukuran sektor 4-KB dan drive lama yang memiliki ukuran sektor 512-byte. Untuk informasi selengkapnya tentang drive baru, lihat drive baru SQL Server menggunakan ukuran sektor 4k dan SQL Server – ruang penyimpanan/vhdx dan ukuran sektor 4k.
Pemecahan Masalah
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 5 untuk SQL Server 2014 /en-us/help/3011055
Pembaruan kumulatif 3 untuk SQL Server 2012 SP2 /en-us/help/3002049
Pembaruan kumulatif 13 untuk SQL Server 2012 SP1 /en-us/help/3002044
Setelah Anda menerapkan hotfix dan mengaktifkan bendera pelacakan 1800 sebagai parameter permulaan pada semua replika server yang berjalan pada disk yang memiliki ukuran sektor 512 byte, Anda akan melihat peningkatan kecil dalam ukuran file berikut:
-
File log transaksi
-
Cadangan log
Selain itu, Anda akan melihat bahwa pesan berikut ini dicatat dalam log kesalahan SQL Server server utama:
Ekor log untuk database ' <nama database> ' sedang ditulis ulang agar sesuai dengan ukuran sektor baru sebesar 4096 byte
Ini adalah pesan informasi yang dapat diabaikan dengan aman.
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Penyelesaian Masalah
Untuk mengatasi masalah ini, Pindahkan file log transaksi pada tujuan ke drive yang memiliki byte per sektor fisik ditetapkan sebagai 512 byte.
Status
Microsoft telah melakukan konfirmasi bahwa masalah ini timbul pada produk Microsoft yang tertera pada bagian "Berlaku untuk".
Informasi Selengkapnya
Sebagai praktik terbaik, cobalah memastikan bahwa semua disk pada semua replika (setidaknya semua disk yang menjadi host file log) memiliki ukuran sektor yang sama. Di lingkungan campuran, di mana sekunder memiliki sektor fisik 512 byte dan utama memiliki ukuran sektor 4 KB, TF 1800 harus digunakan sebagai bendera startup pada semua server atau replika yang memiliki ukuran sektor fisik 512-byte dan dimulai ulang . Hal ini memastikan bahwa format pembuatan log yang sedang berlangsung menggunakan ukuran sektor 4-KB. Untuk informasi selengkapnya tentang cara kerja SQL Server dengan ukuran sektor yang lebih besar, lihat postingan berikut ini di blog dukungan: SQL Server – ukuran sektor penyimpanan/VHDx dan 4k Anda bisa menggunakan utilitas prompt perintah Fsutil untuk menentukan nilai byte per sektor fisik . Jika parameter ini tidak terlihat dalam output, Anda harus menerapkan perbaikan terbaru yang ditentukan dalam artikel KB 982018. Untuk memverifikasi jenis drive yang Anda miliki, ikuti langkah-langkah berikut:
-
Jalankan perintah berikut ini pada prompt perintah yang ditinggikan:
Fsutil fsinfo ntfsinfo x: Catatan Tempat penampung x menunjukkan drive yang Anda periksa.
-
Gunakan nilai untuk byte per sektor dan byte per sektor fisik untuk menentukan jenis drive yang Anda miliki. Untuk melakukan ini, gunakan tabel berikut ini:
Nilai "byte per sektor"
Nilai "byte per sektor fisik"
Tipe drive
4096
4096
4K Native
512
4096
Format tingkat lanjut (juga dikenal sebagai 512E)
512
512
512-byte asli