การตั้งค่าสถานะการติดตาม“ ถาวร” ใน SQL Server หรือไม่


25

เราจำเป็นต้องใช้การตั้งค่าสถานะการสืบค้นกลับของเซิร์ฟเวอร์ SQL 7646เพื่อช่วยบรรเทาการบล็อกข้อความบางอย่าง แต่ฉันก็ใจหายเมื่อพบว่าการตั้งค่าสถานะการสืบค้นกลับ "unset" ตัวเองอาจเป็นเมื่อเซิร์ฟเวอร์ฐานข้อมูลถูกรีบูต

ฉันเคยใช้

DBCC TRACEON (7646, -1)

เพื่อตั้งค่าสถานะการติดตามและ

DBCC TRACESTATUS

เพื่อแสดงค่าสถานะการติดตามทั้งหมดซึ่งบอกฉันว่ามันไม่ได้ตั้งค่า (หลังจากรีบูตฉันเดา) หากต้องการตั้งค่าสถานะการติดตามอย่างถาวรฉันได้ทำสิ่งนี้:

  • ไปที่เครื่องมือจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL
  • ดูคุณสมบัติสำหรับบริการ SQL Server
  • ไปที่แท็บขั้นสูง
  • แก้ไขตัวเลือกพารามิเตอร์การเริ่มต้น

และเพิ่ม

; -T {} tracenumber

ไปยังจุดสิ้นสุดเช่นนั้น ...

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

ถูกต้องหรือไม่ ฉันกำลังหาผลที่ขัดแย้งกันเกี่ยวกับไวยากรณ์สำหรับ SQL Server พารามิเตอร์การเริ่มต้น


FYI: มีบทความที่นี่เกี่ยวกับวิธีการตั้งค่าพารามิเตอร์การเริ่มต้นผ่าน T-SQL: sqlservercentral.com/articles/Automation/105511
JohnLBevan

PS ตามข้างต้น SQL ต่อไปนี้จะให้เส้นทางรีจิสทรีที่เกี่ยวข้องและค่าปัจจุบันสำหรับอินสแตนซ์ของคุณ:select * from sys.dm_server_registry where value_name like 'SQLArg%'
JohnLBevan

คำตอบ:


15

ใช่ว่าจะทำเพื่อคุณ การใช้พารามิเตอร์เริ่มต้นของ -T {traceflag} นั่นคือ


11

สิ่งที่ฉันเรียนรู้วิธีที่ยากคือคุณต้องมีเครื่องหมายอัฒภาคก่อนการตั้งค่าสถานะการติดตามแต่ละครั้ง ตัวอย่างเช่นหากคุณเปิดใช้งานการบันทึกข้อมูลการหยุดชะงักไปยังไฟล์ตัวอย่างของคุณจะกลายเป็น ...

-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

ช่องว่างระหว่างแฟล็กการติดตามทำให้แฟล็กในภายหลังถูกละเว้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.