当前位置:首页 » 编程语言 » 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数据库连接。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726