顯示有關(guān)在 SQL Server 2000 Desktop Engine 或 SQL Server 2000 個(gè)人版上并發(fā)執(zhí)行 5 個(gè)以上批處理的次數(shù)的統(tǒng)計(jì)。還控制是否在 SQL Server 錯(cuò)誤日志中記錄這些統(tǒng)計(jì)。
DBCC CONCURRENCYVIOLATION [ ( DISPLAY | RESET | STARTLOG | STOPLOG ) ]
DISPLAY
顯示并發(fā)沖突計(jì)數(shù)器的當(dāng)前值。計(jì)數(shù)器記錄自從啟動(dòng)日志記錄或上次重置計(jì)數(shù)器以來(lái)并發(fā)執(zhí)行 5 個(gè)以上批處理的次數(shù)。如果沒(méi)有指定選項(xiàng),則 DISPLAY 是默認(rèn)值。
RESET
將所有的并發(fā)沖突計(jì)數(shù)器設(shè)置為零。
STARTLOG
每當(dāng)有 5 個(gè)以上的并發(fā)批處理時(shí),就每分鐘在 SQL Server 事件日志中記入一次并發(fā)沖突計(jì)數(shù)器記錄。
STOPLOG
停止定期在 SQL Server 事件日志中記入并發(fā)沖突計(jì)數(shù)器記錄。
DBCC CONCURRENCYVIOLATION 可在任何 SQL Server 2000 版本上執(zhí)行,但只在這兩個(gè)具有并發(fā)工作負(fù)荷調(diào)控器的 SQL Server 2000 版本上有效:SQL Server 2000 Desktop Engine 和 SQL Server 2000 個(gè)人版。在所有其它版本上,除了返回以下消息外沒(méi)有其它作用:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
當(dāng)并發(fā)執(zhí)行 5 個(gè)以上的批處理時(shí),SQL Server 2000 桌面版和 SQL Server 2000 個(gè)人版具有可限制性能的并發(fā)工作負(fù)荷調(diào)控器。隨著并發(fā)執(zhí)行的批處理數(shù)不斷增加,調(diào)控器通過(guò)增加數(shù)量來(lái)降低系統(tǒng)的性能。并發(fā)執(zhí)行 5 個(gè)以上批處理的次數(shù)計(jì)數(shù)在內(nèi)部計(jì)數(shù)器中維護(hù)??墒褂脦?DISPLAY 參數(shù)或不用參數(shù)的 DBCC CONCURRENCYVIOLATION 語(yǔ)句顯示這些計(jì)數(shù)器的內(nèi)容。如果系統(tǒng)經(jīng)過(guò)仔細(xì)調(diào)整后性能仍很低,并且 DBCC CONCURRENCYVIOLATIONS 顯示數(shù)據(jù)庫(kù)引擎經(jīng)常有遠(yuǎn)遠(yuǎn)超過(guò) 5 個(gè)的批處理并發(fā)執(zhí)行,則應(yīng)考慮升級(jí)到其它的 SQL Server 2000 版本。
可使用 DBCC CONCURRENCYVIOLATION(STARTLOG) 語(yǔ)句,啟用定期在 SQL Server 事件日志中記入并發(fā)沖突計(jì)數(shù)器記錄的功能。當(dāng)啟用日志記錄時(shí),如果正在執(zhí)行的并發(fā)批處理超過(guò) 5 個(gè),則將每分鐘在事件日志中記入一次并發(fā)沖突計(jì)數(shù)器記錄。每當(dāng)有 4 個(gè)或更少的并發(fā)批處理時(shí),不將計(jì)數(shù)器寫入錯(cuò)誤日志。
DBCC CONCURRENCYVIOLATION 語(yǔ)句的主要輸出在以下幾行中:
Concurrency violations since 2000-02-02 11:03:17.20
1 2 3 4 5 6 7 8 9 10-100 >100
5 3 1 0 0 0 0 0 0 0 0
當(dāng)啟用定期日志記錄時(shí),每當(dāng)并發(fā)執(zhí)行的批處理超過(guò) 5 個(gè),便在 SQL Server 錯(cuò)誤日志中記錄以下格式的消息:
2000-02-02 11:03:17.20 spid 12 This SQL Server has been opimized for 5 concurrent queries. This limit has been exceeded by 2 queries and performance may be adversely affected.
如果對(duì)并發(fā)沖突計(jì)數(shù)器啟用定期日志記錄,DBCC CONCURRENCYVIOLATION 將返回以下結(jié)果集(消息):
Concurrency violations since 2000-02-02 11:03:17.20
1 2 3 4 5 6 7 8 9 10-100 >100
5 3 1 0 0 0 0 0 0 0 0
Concurrency violations will be written to the SQL Server error log.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
如果沒(méi)有對(duì)并發(fā)沖突計(jì)數(shù)器啟用定期日志記錄,DBCC CONCURRENCYVIOLATION 將返回以下結(jié)果集(消息):
Concurrency violations since 2000-02-02 11:03:17.20
1 2 3 4 5 6 7 8 9 10-100 >100
5 3 1 0 0 0 0 0 0 0 0
Concurrency violations will not be written to the SQL Server error log.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC CONCURRENCYVIOLATION 權(quán)限默認(rèn)授予 sysadmin 固定服務(wù)器角色的成員且不可轉(zhuǎn)讓。
下例顯示當(dāng)前計(jì)數(shù)器值,然后重置計(jì)數(shù)器。
-- Display the current counter values.相關(guān)文章
DBCC CONCURRENCYVIOLATION
GO
-- Reset the counter values to 0.
DBCC CONCURRENCYVIOLATION(RESET)
GO