數據和工作負荷示例
使用下例說明 SQL Server 性能工具的使用。首先創建下表。
create table testtable (nkey1 int identity, col2 char(300) default 'abc', ckey1 char(1))
接下來,在這個表中填充 10,000 行測試數據。可以為列 nkey1 中所填充的數據創建非聚集索引。可以為列 ckey1 中的數據創建聚集索引,col2 中的數據僅僅是填充內容,將每一行增加 300 字節。
declare @counter int
set @counter = 1
while (@counter <= 2000)
begin
insert testtable (ckey1) values ('a')
insert testtable (ckey1) values ('b')
insert testtable (ckey1) values ('c')
insert testtable (ckey1) values ('d')
insert testtable (ckey1) values ('e')
set @counter = @counter + 1
end
數據庫服務器將進行下面的兩個查詢:
select ckey1,col2 from testtable where ckey1 = 'a'
select nkey1,col2 from testtable where nkey1 = 5000
Profiler
SQL Server Profiler 記錄數據庫服務器中所發生活動的詳細信息。可以配置 Profiler 以便用大量的可配置性能信息監視並記錄在 SQL Server 中執行查詢的一個或多個用戶。可在 Profiler 中記錄的性能信息有:I/O 統計信息、CPU 統計信息、鎖定請求、T-SQL 和 RPC 統計信息、索引和表掃描、警告和引發的錯誤、數據庫對象的創建/除去、連接/斷開、存儲過程操作、游標操作等等。有關 SQL Profiler 可記錄的全部信息,請在 SQL Server Books Online 中搜索字符串“Profiler”。
將 Profiler 信息裝載到 .trc 文件中以便用於 Index Tuning Wizard 中
Profiler 和 Index Tuning Wizard 是強大的工具組合,以幫助數據庫管理員在表中創建適當的索引。Profiler 將查詢所消耗的資源記錄在 .trc 文件中。.trc 文件可以由 Index Tuning Wizard 讀取,Index Tuning Wizard 同時考慮 .trc 信息和數據庫表,然後建議應創建什麼樣的索引。Index Tuning Wizard 可讓管理員選擇是自動創建數據庫的適當索引,調度索引以便在以後自動創建還是產生一個可以在以後查看和執行的 T-SQL 腳本。
以下是分析查詢負荷的步驟:
設置 Profiler
從 SQL Server Enterprise Manager 菜單中選擇 Tools/SQL Server Profiler 啟動 Profiler。
按 CTRL+N 組合鍵新建 Profiler 跟蹤。
鍵入此跟蹤的名稱。
選擇 Capture to File:復選框,然後選擇要將 Profiler 信息輸出到其中的 .trc 文件。
單擊 OK。
運行工作負荷
啟動 Query Analyzer(從 SQL Server Enterprise Manager 菜單中選擇 Tools/SQL Server Query Analyzer 或者從開始菜單中選擇開始程序Microsoft SQL Server 7.0Query Analyzer)。
連接到 SQL Server 並設定將在其中創建表的當前數據庫。
鍵入或復制以下查詢並將它們粘貼到 Query Analyzer 的查詢窗口:
select ckey1,col2 from testtable where ckey1 = 'a'
select nkey1,col2 from testtable where nkey1 = 5000
按 CTRL+E 執行這兩個查詢。
停止 Profiler
單擊紅色的正方形以停止 Profiler 跟蹤。