Mengatur Bendera Jejak "Secara Permanen" di SQL Server?

25

Kita perlu menggunakan SQL Server Trace Flag 7646 untuk membantu mengurangi beberapa pemblokiran teks lengkap, tetapi saya kecewa menemukan bahwa tanda jejak "tidak disetel" sendiri, mungkin ketika server basis data di-boot ulang.

Saya sudah menggunakan

DBCC TRACEON (7646, -1)

untuk mengatur tanda jejak dan

DBCC TRACESTATUS

untuk menampilkan semua tanda jejak, yang memberi tahu saya bahwa itu tidak disetel (setelah reboot, saya kira). Untuk mengatur tanda jejak secara permanen, saya melakukan ini:

  • pergi ke Manajer Konfigurasi SQL Server
  • properti yang dilihat untuk layanan SQL Server
  • mengunjungi tab Advanced
  • mengedit opsi Parameter Startup

dan ditambahkan

; -T {tracenumber}

sampai akhir, seperti ...

-dD: \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ master.mdf; -eD: \ MSSQL10.MSSQLSERVER \ MSSQL \ Log \ ERRORLOG; -LD: \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ mastlog.ldf ; -T764

Apakah itu benar? Saya menemukan hasil yang bertentangan pada sintaks untuk Parameter Startup SQL Server .

Jeff Atwood
sumber
FYI: Ada artikel di sini tentang cara mengatur parameter startup melalui T-SQL: sqlservercentral.com/articles/Automation/105511
JohnLBevan
ps. Per di atas, SQL berikut ini akan memberi Anda jalur registri yang relevan & nilai saat ini untuk contoh Anda:select * from sys.dm_server_registry where value_name like 'SQLArg%'
JohnLBevan

Jawaban:

15

Ya, itu akan tentang melakukannya untuk Anda. Menggunakan parameter startup -T {traceflag}, yaitu.

squillman
sumber
11

Sesuatu yang saya pelajari dengan cara yang sulit adalah bahwa Anda harus memiliki titik koma sebelum setiap bendera jejak. Misalnya, jika Anda mengaktifkan logging info kebuntuan ke file, contoh Anda akan menjadi ...

-dD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;-
eD:\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-
lD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.l
df;-T7646;-T3605;-T1204;-T1222

Spasi antara jejak bendera menyebabkan bendera yang kemudian diabaikan.

GaTechThomas
sumber