Gambaran umum Pemutaran Ulang Terdistribusi SQL Server

Berlaku untuk: SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x)

Penting

Pemutaran Ulang Terdistribusi SQL Server tidak tersedia dengan SQL Server 2022 (16.x).

Fitur Pemutaran Ulang Terdistribusi Microsoft SQL Server membantu Anda menilai efek peningkatan SQL Server di masa mendatang. Anda juga dapat menggunakannya untuk membantu menilai efek peningkatan perangkat keras dan sistem operasi, dan penyetelan SQL Server.

Penghentian Pemutaran Ulang Terdistribusi di SQL Server 2022

Pemutaran Ulang Terdistribusi tidak digunakan lagi pada SQL Server 2022 (16.x), seperti yang disebutkan dalam fitur mesin database yang tidak digunakan lagi di SQL Server 2022 (16.x). Pemutaran Ulang Terdistribusi memiliki dependensi pada SQL Server Native Client (SNAC), yang dihapus dari SQL Server 2022 (16.x). Perubahan ini didokumenkan dalam Kebijakan Dukungan untuk SQL Server Native Client. Selain itu, Pemutaran Ulang Terdistribusi bergantung pada .trc file, yang ditangkap dengan SQL Trace dan SQL Server Profiler, yang keduanya juga tidak digunakan lagi.

Pengontrol Pemutaran Ulang Terdistribusi telah dihapus dari Penyiapan SQL Server 2022 (16.x), dan Klien Pemutaran Ulang Terdistribusi tidak lagi tersedia di SQL Server Management Studio (SSMS) yang dimulai dengan versi 18. Untuk mendapatkan Pengontrol Pemutaran Ulang Terdistribusi, Anda harus menginstal SQL Server 2019 (15.x) atau versi yang lebih lama. Untuk mendapatkan Klien Pemutaran Ulang Terdistribusi, Anda harus menginstal SSMS 17.9.1.

Untuk pelanggan di SQL Server 2022 (16.x), Anda dapat menggunakan Utilitas Replay Markup Language (RML), yang mencakup ostress, untuk memutar ulang beban kerja.

Manfaat Pemutaran Ulang Terdistribusi

Mirip dengan SQL Server Profiler, Anda dapat menggunakan Pemutaran Ulang Terdistribusi untuk memutar ulang jejak yang diambil terhadap lingkungan pengujian yang ditingkatkan. Tidak seperti SQL Server Profiler, Pemutaran Ulang Terdistribusi tidak terbatas pada pemutaran ulang beban kerja dari satu komputer.

Pemutaran Ulang Terdistribusi menawarkan solusi yang lebih dapat diskalakan daripada SQL Server Profiler. Dengan Pemutaran Ulang Terdistribusi, Anda dapat memutar ulang beban kerja dari beberapa komputer dan mensimulasikan beban kerja misi penting dengan lebih baik.

Fitur Pemutaran Ulang Terdistribusi dapat menggunakan beberapa komputer untuk memutar ulang data pelacakan dan mensimulasikan beban kerja misi penting. Gunakan Pemutaran Ulang Terdistribusi untuk pengujian kompatibilitas aplikasi, pengujian performa, atau perencanaan kapasitas.

Kapan menggunakan Pemutaran Ulang Terdistribusi

SQL Server Profiler dan Distributed Replay menyediakan beberapa tumpang tindih dalam fungsionalitas.

Anda dapat menggunakan SQL Server Profiler untuk memutar ulang jejak yang diambil terhadap lingkungan pengujian yang ditingkatkan. Anda juga dapat menganalisis hasil pemutaran ulang untuk mencari potensi ketidaksesuaian fungsional dan performa. Namun, SQL Server Profiler hanya dapat memutar ulang beban kerja dari satu komputer. Saat memutar ulang aplikasi OLTP intensif yang memiliki banyak koneksi bersamaan aktif atau throughput tinggi, SQL Server Profiler dapat menjadi hambatan sumber daya.

Pemutaran Ulang Terdistribusi menawarkan solusi yang lebih dapat diskalakan daripada SQL Server Profiler. Gunakan Pemutaran Ulang Terdistribusi untuk memutar ulang beban kerja dari beberapa komputer dan mensimulasikan beban kerja misi penting dengan lebih baik.

Tabel berikut ini menjelaskan kapan harus menggunakan setiap alat.

Alat Gunakan saat...
SQL Server Profiler Anda ingin menggunakan mekanisme pemutaran ulang konvensional pada satu komputer. Secara khusus, Anda memerlukan kemampuan penelusuran kesalahan baris demi baris, seperti perintah Langkah, Jalankan ke Kursor, dan Ganti Titik Henti .

Anda ingin memutar ulang jejak Analysis Services.
Microsoft SQL Server Distributed Replay Anda ingin mengevaluasi kompatibilitas aplikasi. Misalnya, Anda ingin menguji SQL Server dan skenario peningkatan sistem operasi, peningkatan perangkat keras, atau penyetelan indeks.

Konkurensi dalam jejak yang diambil sangat tinggi sehingga satu klien pemutaran ulang tidak dapat mensimulasikannya dengan cukup.

Konsep Pemutaran Ulang Terdistribusi

Komponen berikut membentuk lingkungan Pemutaran Ulang Terdistribusi:

  • Alat administrasi Pemutaran Ulang Terdistribusi: Aplikasi konsol, DReplay.exe, digunakan untuk berkomunikasi dengan pengontrol pemutaran ulang terdistribusi. Gunakan alat administrasi untuk mengontrol pemutaran ulang terdistribusi.

  • Pengontrol Pemutaran Ulang Terdistribusi: Komputer yang menjalankan layanan Windows bernama pengontrol Pemutaran Ulang Terdistribusi SQL Server. Pengontrol Pemutaran Ulang Terdistribusi mengatur tindakan klien pemutaran ulang terdistribusi. Hanya ada satu instans pengontrol di setiap lingkungan Pemutaran Ulang Terdistribusi.

  • Klien Pemutaran Ulang Terdistribusi: Satu atau beberapa komputer (fisik atau virtual) yang menjalankan layanan Windows bernama klien Pemutaran Ulang Terdistribusi SQL Server. Klien Pemutaran Ulang Terdistribusi bekerja sama untuk mensimulasikan beban kerja terhadap instans SQL Server. Mungkin ada satu atau beberapa klien di setiap lingkungan Pemutaran Ulang Terdistribusi.

  • Server target: Instans SQL Server yang dapat digunakan klien Pemutaran Ulang Terdistribusi untuk memutar ulang data pelacakan. Kami menyarankan agar server target terletak di lingkungan pengujian.

Alat administrasi Pemutaran Ulang Terdistribusi, pengontrol, dan klien dapat diinstal pada komputer yang berbeda atau komputer yang sama. Hanya ada satu instans pengontrol Pemutaran Ulang Terdistribusi atau layanan klien yang berjalan di komputer yang sama.

Gambar berikut menunjukkan arsitektur fisik Pemutaran Ulang Terdistribusi SQL Server:

Diagram of the Distributed Replay architecture.

Tugas Pemutaran Ulang Terdistribusi

Deskripsi Tugas Artikel
Menjelaskan cara mengonfigurasi Pemutaran Ulang Terdistribusi. Mengonfigurasi Pemutaran Ulang Terdistribusi
Menjelaskan cara menyiapkan data pelacakan input. Menyiapkan data pelacakan input
Menjelaskan cara memutar ulang data pelacakan. Memutar Ulang Data Pelacakan
Menjelaskan cara meninjau hasil data pelacakan Pemutaran Ulang Terdistribusi. Tinjau Hasil Pemutaran Ulang
Menjelaskan cara menggunakan alat administrasi untuk memulai, memantau, dan membatalkan operasi pada pengontrol. Opsi Baris Perintah Alat Administrasi (Utilitas Pemutaran Ulang Terdistribusi)

Persyaratan

Sebelum menggunakan fitur Pemutaran Ulang Terdistribusi, pertimbangkan persyaratan produk yang diuraikan dalam artikel ini.

Persyaratan pelacakan input

Agar berhasil memutar ulang data pelacakan, data harus memenuhi persyaratan untuk versi dan format, dan berisi peristiwa dan kolom yang diperlukan.

Versi jejak input

Pemutaran Ulang Terdistribusi mendukung data jejak input yang dikumpulkan pada versi SQL Server berikut:

  • SQL Server 2019 (15.x)
  • SQL Server 2017 (14.x) (Pembaruan Kumulatif 1 dan versi yang lebih baru - lihat Pembaruan kumulatif SQL Server 2017)
  • SQL Server 2016 (13.x)
  • SQL Server 2014 (12.x)
  • SQL Server 2012 (11.x)
  • SQL Server 2008 R2 (10.50.x)
  • SQL Server 2008 (10.0.x)
  • SQL Server 2005 (9.x)

Format pelacakan input

Data pelacakan input dapat berada dalam salah satu format berikut:

  • Satu file pelacakan yang memiliki .trc ekstensi.

  • Sekumpulan file pelacakan rollover yang mengikuti konvensi penamaan rollover file, misalnya: <TraceFile>.trc, , <TraceFile>_1.trc, <TraceFile>_2.trc, <TraceFile>_3.trc... <TraceFile>_n.trc.

Peristiwa dan kolom pelacakan input

Data pelacakan input harus berisi peristiwa dan kolom tertentu untuk diputar ulang oleh Pemutaran Ulang Terdistribusi. Templat TSQL_Replay di SQL Server Profiler berisi semua peristiwa dan kolom yang diperlukan, selain informasi tambahan. Untuk informasi selengkapnya tentang templat tersebut, lihat Persyaratan Pemutaran Ulang.

Peringatan

Jika Anda tidak menggunakan templat TSQL_Replay untuk mengambil data jejak input, atau jika persyaratan pelacakan input tidak terpenuhi, Anda mungkin menerima hasil pemutaran ulang yang tidak terduga.

Anda juga dapat membuat templat pelacakan kustom dan menggunakannya untuk memutar ulang peristiwa dengan Pemutaran Ulang Terdistribusi, selama berisi peristiwa berikut:

  • Log-Masuk Audit
  • Log-Keluar Audit
  • Sudah ada Koneksi ion
  • RPC Output Parameter
  • RPC:Selesai
  • RPC:Mulai
  • SQL:BatchCompleted
  • SQL:BatchStarting

Jika Anda memutar ulang kursor sisi server, peristiwa berikut juga diperlukan:

  • KursorClose
  • CursorExecute
  • KursorBuka
  • CursorPrepare
  • CursorUnprepare

Jika Anda memutar ulang pernyataan SQL yang disiapkan sisi server, peristiwa berikut juga diperlukan:

  • Exec Disiapkan SQL
  • Menyiapkan SQL

Semua data jejak input harus berisi kolom berikut:

  • Kelas Peristiwa
  • EventSequence
  • TextData
  • Nama Aplikasi
  • LoginName
  • DatabaseName
  • ID Database
  • HostName
  • Binary Data
  • SPID
  • Waktu Mulai
  • EndTime
  • IsSystem

Jejak input yang didukung dan kombinasi server target

Tabel berikut mencantumkan versi data pelacakan yang didukung, dan untuk masing-masing, versi SQL Server yang didukung yang dapat diputar ulang data.

Versi data pelacakan input Versi SQL Server yang didukung untuk instans server target
SQL Server 2005 (9.x) SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2008 (10.0.x) SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2008 R2 (10.50.x) SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2012 (11.x) SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2014 (12.x) SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2016 (13.x) SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2017 (14.x) SQL Server 2017 (14.x), SQL Server 2019 (15.x)
SQL Server 2019 (15.x) SQL Server 2019 (15.x)

Persyaratan sistem operasi

Sistem operasi yang didukung untuk menjalankan alat administrasi dan pengontrol dan layanan klien sama dengan instans SQL Server Anda. Untuk informasi selengkapnya tentang sistem operasi mana yang didukung untuk instans SQL Server Anda, lihat SQL Server 2016 dan 2017: Persyaratan perangkat keras dan perangkat lunak.

Fitur Pemutaran Ulang Terdistribusi didukung pada sistem operasi berbasis x86 dan berbasis x64. Untuk sistem operasi berbasis x64, hanya mode Windows pada Windows (WOW) yang didukung.

Batasan penginstalan

Setiap komputer hanya dapat menginstal satu instans dari setiap fitur Pemutaran Ulang Terdistribusi. Tabel berikut mencantumkan berapa banyak penginstalan setiap fitur yang diizinkan dalam satu lingkungan Pemutaran Ulang Terdistribusi.

Fitur Pemutaran Ulang Terdistribusi Penginstalan Maksimum Per Lingkungan Pemutaran Ulang
Layanan pengontrol Pemutaran Ulang Terdistribusi SQL Server 1
Layanan klien Pemutaran Ulang Terdistribusi SQL Server 16 (komputer fisik atau virtual)
Alat administrasi Tidak Terbatas

Catatan

Meskipun hanya satu instans alat administrasi yang dapat diinstal pada satu komputer, Anda dapat memulai beberapa instans alat administrasi. Perintah yang dikeluarkan dari beberapa alat administrasi diselesaikan dalam urutan penerimaannya.

Penyedia akses data

Pemutaran Ulang Terdistribusi hanya mendukung penyedia akses data ODBC SQL Server Native Client.

Persyaratan persiapan server target

Kami menyarankan agar server target terletak di lingkungan pengujian. Untuk memutar ulang data pelacakan terhadap instans SQL Server yang berbeda dari yang awalnya direkam, pastikan bahwa langkah-langkah berikut telah dilakukan di server target:

  • Semua login dan pengguna yang terkandung dalam data pelacakan harus ada dalam database yang sama di server target.

  • Semua login dan pengguna di server target harus memiliki izin yang sama dengan yang mereka miliki di server asli.

  • ID database pada target idealnya harus sama dengan ID pada sumbernya. Namun, jika tidak sama, pencocokan dapat dilakukan berdasarkan DatabaseName jika ada di jejak.

  • Database default untuk setiap login yang terkandung dalam data pelacakan harus diatur (pada server target) ke database target masing-masing dari login. Misalnya, data pelacakan yang akan diputar ulang berisi aktivitas untuk login, Fred, dalam database Fred_Db pada instans asli SQL Server. Oleh karena itu, pada server target, database default untuk login, Fred, harus diatur ke database yang cocok dengan Fred_Db (bahkan jika nama database berbeda). Untuk mengatur database default login, gunakan prosedur tersimpan sp_defaultdb sistem.

Memutar ulang peristiwa yang terkait dengan login yang hilang atau salah menghasilkan kesalahan pemutaran ulang, tetapi operasi pemutaran ulang berlanjut.