當前位置:首頁 » 數據倉庫 » sql跟蹤特定資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql跟蹤特定資料庫

發布時間: 2023-05-23 13:31:02

sql profiler 怎麼跟蹤指定客戶端

可以使用 SQL Server Profiler 查看跟蹤中捕獲的事件數據。SQL Server Profiler 顯示基於定義的跟蹤屬性的數據。分析 SQL Server 數據灶瞎的一種方式是將數據復制到其他程序中,例如 SQL Server 或資料庫引擎優化顧問。如果跟蹤中包括「文本」數據列,則資料庫引擎優化顧問可以使用包含 SQL 批處理和遠程過程調用 (RPC) 事件的跟蹤文件。為了確保捕獲正確的事件和列以便與資料庫引擎優化顧問一起使用,請使用隨 SQL Server Profiler一起提供的預定義優化模板。
使用 SQL Server Profiler打開跟蹤時,如果跟蹤文件是由 SQL Server Profiler或 SQL 跟蹤系統存儲過程創建的,則該文件不需要帶 .trc 文件擴展名。

注意

SQL Server Profiler還可以讀取 SQL 跟蹤 .log 文件和通用 SQL 腳本文件。打開不帶 .log 文件擴展名的 SQL 跟蹤 .log 文件(例如 trace.txt)時,應將文件格式指定為 SQLTrace_Log。

您可以配置 SQL Server Profiler日期和時間顯示格式以便有助於跟蹤分析。

排除數據故障

使用 SQL Server Profiler時,您可以按「持續時間」、CPU、「讀」或「寫」數據列將跟蹤或跟蹤文件分組來排除數據故障。例如,您可以對性能差的查詢或邏輯讀取操作數特別高的族迅查詢進行數據故障排除。
通過將跟蹤保存至表和使用 Transact-SQL 查詢事件數據,可以找到其他信息。例如,若要確定哪些 SQL:BatchCompleted 事件的等待時間過長,可執行:
SELECT TextData, Duration, CPU
FROM trace_table_name
WHERE EventClass = 12 -- SQL:BatchCompleted events
AND CPU < (Duration * 1000)

注意

伺服器以微秒(百萬分之一秒或 10-6 秒)為單位報告事件的持續時間,以毫秒(千分之一秒或 10-3 秒)為單位報告事件使用的 CPU 時間。SQL Server Profiler 圖形用戶界面默認以毫秒為單位顯示「持續時間」列,但是當跟蹤保存到文件或資料庫表中時,將以微秒為單位寫入「持續時間」列值。

查看跟蹤時顯示對象名稱

如果您要顯示對象名稱而不是對象標識符(對象 ID),必須捕獲「伺服器名稱」和「資料庫 ID」數據列以及「對象名稱」數據列。
如果您選擇按「對象 ID」數據列分組,請確保先按「伺服器名稱」和「資料庫 ID」數據列分組,然後按「對象 ID」數據列分組。同樣,如果您選擇按「索引 ID」數據列分組,請確保先按「伺服器名稱」、「資料庫 ID」和「對象 ID」數據列分組,然後按「索引 ID」數據列分組。您必須按照此順序分組,因為對象 ID 和索引 ID 在伺服器和資料庫之間並不是唯一的,而索引 ID 甚至在各對象之間都不是唯一的。

查找跟蹤內的特定事件

若要查找跟蹤中的事件隱穗空並對事件進行分組,請按下列步驟執行操作:
創建跟蹤。
定義跟蹤時,除了要捕獲的任何其他數據列外,還要捕獲「事件類」、ClientProcessID 和「開始時間」數據列。有關詳細信息,請參閱創建跟蹤 (SQL Server Profiler)。
按「事件類」數據列將捕獲的數據分組,並將跟蹤捕獲至文件或表。若要將捕獲的數據分組,請單擊「跟蹤屬性」對話框中「事件選擇」選項卡中的「組織列」。有關詳細信息,請參閱組織跟蹤中顯示的列 (SQL Server Profiler)。
開始跟蹤,並在經過適當時間或捕獲了一定數量的事件後停止。
查找目標事件。
打開跟蹤文件或表,並展開所需事件類的節點,例如,Deadlock Chain。有關詳細信息,請參閱打開跟蹤文件 (SQL Server Profiler)或打開跟蹤表 (SQL Server Profiler)。
在跟蹤數據中搜索直到找到所需的事件(使用 SQL Server Profiler的「編輯」菜單上的「查找」命令幫助查找跟蹤中的值)。記錄所跟蹤事件的 ClientProcessID 和「開始時間」數據列中的值。
在上下文中顯示事件。
顯示跟蹤屬性,並按 ClientProcessID 數據列分組而不是按「事件類」數據列分組。
展開要查看的每個客戶端進程 ID 的節點。手動搜索整個跟蹤,或使用「查找」直到找到目標事件先前標記的「開始時間」值。這些事件與屬於每個選定客戶端進程 ID 的其他事件一起按時間順序進行顯示。例如,跟蹤內捕獲的「死鎖」和「死鎖鏈」事件在展開的客戶端進程 ID 內緊跟在「SQL:BatchStarting」事件之後顯示。

㈡ SQL Server Profiler怎麼跟蹤指定資料庫標識ID

方法/步驟
1

先我需要查詢出需要使用SQL Server
Profiler跟蹤的資料庫標識ID,若不知道怎麼查詢資料庫的標識ID,可以參考筆者的經驗:http://jingyan..com
/article/配脊ff411625bb451c12e5823778.html

2
然後需要在安裝了資料庫的伺服器上打開SQL Server management studio,點擊工具。

3
選擇SQL Server Profiler。

4
輸入資料庫的SA與密碼,點擊連接。

5
在跟蹤屬性中,點擊事逗賣信件選擇

6
在這山輪個選項卡中,有一個列篩選器,點擊它。

7
在篩選器中找到DatabaseID,條件等於你查詢出來的資料庫標識ID號。點擊確定。

8
現在就可以點擊運行SQL Server Profiler跟蹤了。

㈢ SQL Server Profiler怎麼跟蹤指定資料庫標識ID

首先我需要查詢出需要使用sql
server
profiler跟蹤的資料庫標識id,若不知道怎麼查詢資料庫的灶襪標識id
然後需要在安裝擾首了資料庫的伺服器上打開sql
server
management
studio,點擊工具。
選擇sql
server
profiler。
輸入緩辯數資料庫的sa與密碼,點擊連接。
在跟蹤屬性中,點擊事件選擇
在這個選項卡中,有一個列篩選器,點擊它。
在篩選器中找到databaseid,條件等於你查詢出來的資料庫標識id號。點擊確定。
現在就可以點擊運行sql
server
profiler跟蹤了。

㈣ SQL2008如何跟蹤某台電腦的執行語句

1、選擇要操作的資料庫。

㈤ SQL Server Profiler怎麼跟蹤指定資料庫標識ID

首先我需要查詢出需要使用sql
server
profiler跟蹤的資料庫標識id,若不知道怎麼查詢資料庫的標識id
然後需要在安裝了資料庫的伺服器上打開sql
server
management
studio,點擊工具。
選擇sql
server
profiler。
輸入資料庫的sa與密碼,點擊連接。
在跟蹤屬性中,點擊事件選擇
在這個選項卡中,有一個列篩選器,點擊它。
在篩選器中找到databaseid,條件等於你查詢出來的資料庫標識id號。點擊確定。
現在就可以點擊運行sql
server
profiler跟蹤了。

㈥ SQL Server Profiler怎麼跟蹤指定資料庫標識ID

SQL Server Profiler是SQL資料庫的跟蹤工具,一般多個資料庫若使用的SQL Server Profiler跟蹤工具,跟蹤出來的結果會很多,有團閉喚多個資料庫跟蹤結果。很不方便查找跟蹤結果,所以我們需要跟蹤指定的某一個資料庫就可以了,SQL Server Profiler跟蹤工具可以設定篩選的數據標識ID。達到只跟蹤指定的資料庫。
1
首先我需要查詢出需要使用SQL Server Profiler跟蹤的資料庫標識ID,若不知道怎麼查詢資料庫的標識ID(參考http://jingyan..com/article/ff411625bb451c12e5823778.html)
2
然後需要在安裝了資料庫的伺服器上打開SQL Server management studio,點擊工具。
3
選擇SQL Server Profiler。
4
輸入資料庫的SA與密碼,點擊連接。
5
在跟蹤屬性中,點擊事件選態頌擇
6
在這個選項卡中,有一個列篩選器,點擊它。
7
在篩選塌凱器中找到DatabaseID,條件等於你查詢出來的資料庫標識ID號。點擊確定。
8
現在就可以點擊運行SQL Server Profiler跟蹤了。

㈦ SQL Server Profiler怎麼跟蹤指定資料庫標識ID

先在跟蹤選項中選擇顯示所有跟蹤列洞笑,然後右鍵點擊databaseid列(當然也有databasename列)並選讓乎中,然納滑含後再在篩選器中過濾出你要的ID

㈧ sql server 2005資料庫跟蹤的問題

跟蹤屬型遲性-選擇事卜租宏件-所有列-databasename列選上就可以看到型冊資料庫名了,好像不能只看某一個資料庫的,profiler鏈接的是資料庫實例。

㈨ 如何使用SQL Server Profiler跟蹤資料庫

工具/材料

SQL SERVER 2008

  • 01

    首先打開SQL SERVER Management管理工具,如下圖所示,選擇工具菜單下面的SQL SERVER Profiler選項

  • 02

    然後管理核兆工具會自動跳出資料庫連接的界面,這里填寫好要跟蹤的資料庫,然後點擊連接,如下圖所示

  • 03

    接下來就進入到跟蹤屬性的設置界面,蔽空如下圖所示,在這個界面改並租需要給跟蹤起名字,選擇跟蹤模板

  • 04

    然後切換到事件選擇的頁卡,如下圖所示,在這里設置需要跟蹤哪些類型的SQL語句

  • 05

    接下來我們在SQL SERVER的管理工具執行一個SQL語句,如下圖所示,下面就需要跟蹤這個SQL語句的執行過程

  • 06

    然後我們就會在SQL SERVER Profiler工具中看到這個SQL執行的過程,跟蹤工具中顯示了SQL對資源的消耗情況,讀寫次數等信息,如下圖所示

  • 07

    最後執行完了以後,記住暫停或者停止跟蹤,否則跟蹤等到停止時間才會停止,如下圖所示

㈩ 如何打開oracle的sql後台跟蹤功能

一.在系統級別上設置sql跟蹤
該方法優點:可以跟蹤所有的oracle的後台進程所執行的sql,包括系統後台進程和用戶進程,並且可以跟蹤所有的操作
缺點:跟蹤所有的後台進程,跟蹤信息量比較大
1.在sqlplus中以sys/ as sysdba身份登陸到資料庫。
2.打開跟蹤,在sqlplus中輸入alter sysetem set events '10046 trace name context forever,level &level';
(其中&level可以輸入1,4,8,12三個級別,不同的級別含有不同級別的信息)
3.然後到ArcMap或ArcCatalog中進行你想跟蹤的操作
4.關閉跟蹤,在sqlplus中輸入alter systemm set events '10046 trace name context off';
5.查找你所跟蹤的session的ID
A 修改時間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對使用sde服務的輸入:select sid,logon_time from v$session where username=&username and program='gsrvr.exe';
C.對直連這種方式輸入:select sid,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陸到資料庫的用戶名,如果返回多個結果,在根據登陸的時間確定具體的sid值)
6.執行以下的sql語句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在輸入sid後,即得到後台的跟蹤文件。

二. 在session級別上設置跟蹤
該方法只適用於跟蹤登陸數據後所進行的一系列的操作,比如跟蹤在ArcCatalog中創建一個Dataset,FeatureClass等的操作
1.在sqlplus中以sys / as sysdba身份登陸到資料庫
2.查找你所要跟蹤的session的sid和serial#
A 修改時間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對使用sde服務的輸入:select sid,serial#,logon_time from v$session where username=&username and program='gsrvr.exe';
C.對直連這種方式輸入:select sid,serial#,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,serial#,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陸到資料庫的用戶名,如果返回多個結果,在根據登陸的時間確定具體的sid和serial#的值)
3.開始跟蹤,輸入exec dbms_support.start_trace_in_session(&sid,&serial#,true,true).(如果系統沒有安裝dbms_support包,可以執行$ORACLE_HOME\rdbms\admin\dbmssupp.sql進行安裝)
4.然後到ArcMap或ArcCatalog中進行你想跟蹤的操作
5.結束跟蹤exec dbms_support.stop_trace_in_session(&sid,&serial#);
6.執行以下的sql語句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在輸入sid後,即得到後台的跟蹤文件。

三. 在Aix系統下跟蹤消耗內存的session的辦法
1.在Aix系統上執行export TERM=vt100
2.執行topas命令,確定最佔cpu資源的process的進程號
3,然後利用select a.sid,b.serial# from v$session a,v$process b where a.paddr=b.addr and b.spid=&spid;
4.確定sid和serial#後利用二方法進行跟蹤。