Mengonfigurasi ambang kursor (opsi konfigurasi server)

Berlaku untuk:SQL Server

Topik ini menjelaskan cara mengonfigurasi opsi konfigurasi server ambang batas kursor di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Opsi ambang kursor menentukan jumlah baris dalam kumpulan kursor tempat set kunci kursor dihasilkan secara asinkron. Saat kursor menghasilkan set kunci untuk kumpulan hasil, pengoptimal kueri memperkirakan jumlah baris yang akan dikembalikan untuk kumpulan hasil tersebut. Jika pengoptimal kueri memperkirakan bahwa jumlah baris yang dikembalikan lebih besar dari ambang batas ini, kursor dihasilkan secara asinkron, memungkinkan pengguna untuk mengambil baris dari kursor sementara kursor terus diisi. Jika tidak, kursor dihasilkan secara sinkron, dan kueri menunggu hingga semua baris dikembalikan.

Dalam Topik Ini

Sebelum Anda mulai

Batasan dan Pembatasan

  • SQL Server tidak mendukung pembuatan kursor Transact-SQL berbasis keyset atau statis secara asinkron. Operasi kursor Transact-SQL seperti OPEN atau FETCH dikelompokkan, sehingga tidak perlu membuat kursor Transact-SQL asinkron. SQL Server terus mendukung kursor server antarmuka pemrograman aplikasi (API) berbasis kunci asinkron atau statis di mana OPEN latensi rendah menjadi perhatian, karena perjalanan pulang pergi klien untuk setiap operasi kursor.

  • Akurasi pengoptimal kueri untuk menentukan perkiraan jumlah baris dalam set kunci tergantung pada mata uang statistik untuk setiap tabel dalam kursor.

Rekomendasi

  • Opsi ini adalah opsi lanjutan dan harus diubah hanya oleh administrator database berpengalaman atau bersertifikat SQL Server profesional.

  • Jika Anda mengatur ambang kursor ke -1, semua set kunci dihasilkan secara sinkron, yang menguntungkan set kursor kecil. Jika Anda mengatur ambang kursor ke 0, semua set kunci kursor dihasilkan secara asinkron. Dengan nilai lain, pengoptimal kueri membandingkan jumlah baris yang diharapkan dalam kumpulan kursor dan menyusun set kunci secara asinkron jika melebihi angka yang ditetapkan dalam ambang kursor. Jangan mengatur ambang kursor terlalu rendah, karena tataan hasil kecil lebih baik dibangun secara sinkron.

Keamanan

Izin

Jalankan izin pada sp_configure tanpa parameter atau hanya dengan parameter pertama yang diberikan kepada semua pengguna secara default. Untuk menjalankan sp_configure dengan kedua parameter untuk mengubah opsi konfigurasi atau untuk menjalankan pernyataan KONFIGURASI ULANG, pengguna harus diberikan izin tingkat server ALTER SETTINGS. Izin UBAH PENGATURAN secara implisit dipegang oleh peran server tetap sysadmin dan serveradmin .

Menggunakan SQL Server Management Studio

Untuk mengonfigurasi opsi ambang kursor

  1. Di Object Explorer, klik kanan server dan pilih Properti.

  2. Klik simpul Tingkat Lanjut .

  3. Di bawah Lain-lain, ubah opsi Ambang Kursor menjadi nilai yang Anda inginkan.

Menggunakan T-SQL

Untuk mengonfigurasi opsi ambang kursor

  1. Sambungkan ke Mesin Database.

  2. Dari bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan. Contoh ini menunjukkan cara menggunakan sp_configure untuk mengatur cursor threshold opsi ke 0 sehingga set kunci kursor dihasilkan secara asinkron.

USE AdventureWorks2022;  
GO  
EXEC sp_configure 'show advanced options', 1 ;  
GO  
RECONFIGURE  
GO  
EXEC sp_configure 'cursor threshold', 0 ;  
GO  
RECONFIGURE  
GO  
  

Untuk informasi selengkapnya, lihat Opsi Konfigurasi Server (SQL Server).

Tindak Lanjut: Setelah Anda mengonfigurasi opsi ambang kursor

Pengaturan segera berlaku tanpa memulai ulang server.

Lihat juga

@@CURSOR_ROWS (Transact-SQL)
KONFIGURASI ULANG (Transact-SQL)
Opsi Konfigurasi Server (SQL Server)
sp_configure (Transact-SQL)
PERBARUI STATISTIK (Transact-SQL)