當前位置:首頁 » 編程語言 » sqlserver進程查看
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver進程查看

發布時間: 2023-06-15 16:08:49

⑴ 如何查詢sqlServer某進程當前正在執行或其最近一次執行的SQL語句

SELECT
c.session_id,c.net_transport,c.encrypt_option,
c.auth_scheme,s.host_name,s.program_name,
s.client_interface_name,s.login_name,s.nt_domain,
s.nt_user_name,s.original_login_name,c.connect_time,
s.login_time,q.text
FROMsys.dm_exec_connectionsASc
JOINsys.dm_exec_sessionsASs
ONc.session_id=s.session_id
crossapplyfn_get_sql(most_recent_sql_handle)q

where條件自己寫

⑵ sqlServer查看死鎖及解鎖

--查看死鎖

select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name 

from sysprocesses 

where spid in 

( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0) 

--解鎖

kill 進程號(spid)

⑶ sqlserver怎麼用sql查看具體那個表被鎖住了

查看被鎖表:
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type='OBJECT'

--spid 鎖表進程
--tableName 被鎖表名

解鎖:

declare @spid int
Set @spid = 57 --鎖表進程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)

--查詢出死鎖的SPID
select blocked
from (select * from sysprocesses where blocked>0 ) a
where not exists(select * from (select * from sysprocesses where blocked>0 ) b
where a.blocked=spid)

--輸出引起死鎖的操作
DBCC INPUTBUFFER (@spid)
--查詢當前進程數

select count(-1) from sysprocesses
where dbid in (select dbid from sysdatabases where name like '%telcount%');

⑷ sqlserver如何查看哪個進程堵塞

SELECT blocking_session_id '阻塞進程的ID', wait_ration_ms '等待時間(毫秒)', session_id '(會話ID)' FROM sys.dm_os_waiting_tasks!

⑸ 關於SQLserver資料庫的進程問題

一般來說SQL的進程有幾個
SQL
BROWSER
你的客戶端連接的進程
SQLSERVR你的資料庫實例的主服務
SQLWB
這是你啟動MANAGER
STUDIO後產生的進程
SQLWRITER
省略
SQLAGENT
省略
似乎是這些,我也記不清楚了
如果你設置成手動,那麼你設置的這些服務不會啟動,但是進程上會存在。特別是SQLSERVR(其他的我沒注意),此時你觀察它的內存使用量,雖然不算特別大,但是也夠大了。但你啟動你的SQL
SERVER時,內存使用量會增加很多。(我理解是此時連接了你的伺服器,所以要佔用內存)
而當你關閉了SQLSERVER以後,內存使用量並不會減少太多,說明你的伺服器依舊在運行。
所以根據我的這個觀察,我覺得,你將
服務設置手動,只是設置了該伺服器的實例不會自動運行。而不是SQL
SERVER這個軟體不會自動運行。
如果真的要全部停止服務的話。似乎你用SQL
SERVER
CONFIGURATION
來設置服務應該可以實現你的要求/

⑹ 如何查看sqlserver的啟動/停止日誌

您好,很高興為您解答。

預設情況下,在Program FilesMicrosoft SQL ServerMSSQLLog目錄下。最近的錯誤日誌名稱是ERRORLOG,如果停止並重啟SQL Server,舊的日誌將被壓縮和新建一個文件。此外,也可以通過DBCC ERRORLOG 命令或者sp_cycle_errorlog 系統存儲過程回收錯誤日誌。
[@more@]
以下是一些沒有寫在文檔中但是眾所周知的系統存儲過程,這些存儲過程可以從SQL Server自身讀取錯誤日誌。
exec xp_enumerrorlogs 1 will list SQL Engine errorlog file numbers
exec xp_readerrorlog <errorlognumber>, 1 will return the content of the requested Engine errorlog file.
exec xp_enumerrorlogs 2 will list the Agent error log file numbers
exec xp_readerrorlog <errorlognumber>, 2 will return the content of the requested Agent error log file.
舉例:
exec xp_enumerrorlogs 2
存檔# 日期 日誌文件大小(位元組)
1 08/06/2012 10:52 11399188
2 07/13/2012 00:58 1048
3 07/13/2012 00:55 1048
4 07/13/2012 00:55 12682508
5 06/16/2012 09:53 12869230
6 05/20/2012 05:38 10492
7 05/20/2012 05:25 11766
8 05/20/2012 05:08 10012278
9 04/29/2012 00:41 15371150
0 08/08/2012 11:30 939606
exec xp_readerrorlog 1, 2
時間 錯誤級別 內容
2012-07-13 01:07:03.0 3 [393] 正在等待 SQL Server 恢復資料庫...
2012-07-13 01:18:29.0 3 [100] Microsoft SQLServerAgent 版本 9.00.1399.06 (內部版本號 x86 unicode 零售): 進程 ID 1996
2012-07-13 01:18:29.0 3 [101] SQL Server SVCTAG-4GCYY2X 版本 9.00.1399 (連接限制: 0)
2012-07-13 01:18:29.0 3 [102] SQL Server ODBC 驅動程序版本 9.00.1399
2012-07-13 01:18:29.0 3 [103] 驅動程序使用的 NetLib 是 DBNETLIB.DLL;本地主機伺服器是
2012-07-13 01:18:29.0 3 [310] 檢測到 8 個處理器和 4096 MB RAM
2012-07-13 01:18:29.0 3 [339] 本地計算機是 SVCTAG-4GCYY2X,運行的是 Windows NT 5.2 (3790) Service Pack 2
2012-07-13 01:18:29.0 3 [431] 正在填充子系統緩存...
2012-07-13 01:18:36.0 3 [432] 子系統緩存中有 11 個子系統
2012-07-13 01:18:36.0 3 [124] 已成功載入子系統「TSQL」(最大並發數: 160)
2012-07-13 01:18:37.0 3 [124] 已成功載入子系統「ActiveScripting」(最大並發數: 80)
2012-07-13 01:18:37.0 3 [124] 已成功載入子系統「CmdExec」(最大並發數: 80)
2012-07-13 01:18:38.0 3 [124] 已成功載入子系統「Snapshot」(最大並發數: 800)
2012-07-13 01:18:38.0 3 [124] 已成功載入子系統「LogReader」(最大並發數: 200)

~ O(∩_∩)O~