當前位置:首頁 » 編程語言 » sqlserverwho

sqlserverwho

發布時間: 2023-09-08 05:53:34

sqlserver怎麼清除死鎖

1、首先需要判斷是哪個用戶鎖住了哪張表.

查詢被鎖表

selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableName
fromsys.dm_tran_lockswhereresource_type='OBJECT'

查詢後會返回一個包含spid和tableName列的表.

其中spid是進程名,tableName是表名.

2.了解到了究竟是哪個進程鎖了哪張表後,需要通過進程找到鎖表的主機.

查詢主機名

execsp_who2'xxx'

xxx就是spid列的進程,檢索後會列出很多信息,其中就包含主機名.

3.通過spid列的值進行關閉進程.

關閉進程

declare@spidint
Set@spid=xxx--鎖表進程
declare@sqlvarchar(1000)
set@sql='kill'+cast(@spidasvarchar)
exec(@sql)

PS:有些時候強行殺掉進程是比較危險的,所以最好可以找到執行進程的主機,在該機器上關閉進程.

Ⅱ sql server 如何獲取當前操作的資料庫

1、首先我們打開電腦里的sql server軟體。

Ⅲ sqlserver怎麼查看哪些地方連接資料庫了

1、通過系統的「性能」來查看:
開始->管理工具->性能(或者是運行裡面輸入
mmc)然後通過
添加計數器添加
SQL
的常用統計
然後在下面列出的項目裡面選擇用戶連接就可以時時查詢到sql
server資料庫連接數了。
不過此方法的話需要有訪問那台計算機的許可權,就是要通過windows賬戶登陸進去才可以添加此計數器。
2、通過系統表來查詢:
SELECT
*
FROM
[Master].[dbo].[SYSPROCESSES]
WHERE
[DBID]
IN
(
SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME='databaseName'
)
databaseName
是需要查看的資料庫,然後查詢出來的行數,就是當前的sql
server資料庫連接數。不過裡面還有一些別的狀態可以做參考用。
3、通過系統過程來查詢:
SP_WHO
'loginName'
loginName
是當然登陸Sql的用戶名,一般程序裡面都會使用一個username來登陸SQL這樣通過這個用戶名就能查看到此用戶名登陸之後佔用的連接了。
如果不寫loginName,那麼返回的就是所有的sql
server資料庫連接。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:969
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:677
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:830
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:738
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1077
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:309
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:189
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:831