查看Sql Server被锁的表以及解锁

查看被锁表:

select spId
  from master..SysProcesses
 where db_Name(dbID) = ‘数据库名称‘
   and spId <> @@SpId
   and dbID <> 0

解除锁:

exec (‘Kill ‘+cast(@spid  as varchar))

查看被锁表:

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)
 

原文地址:https://www.cnblogs.com/CoreXin/p/10010665.html

时间: 2024-10-02 16:16:56

查看Sql Server被锁的表以及解锁的相关文章

查看SQL Server被锁的表以及如何解锁【转】

锁定数据库的一个表的区别  SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除  SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除 SELECT语句中的各项“加锁选项”以及相应的功能说明. NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁. 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll

SQL Server被锁的表以及解锁

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 @s

快速查看SQL Server 中各表的数据量以及占用空间大小

快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O

SQL Server 查询锁表和接锁表

SQL Server 查询锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) as tableName ,* from sys.dm_tran_locks where resource_type='OBJECT' and OBJECT_NAME(resource_associated_entity_id) is not null SQL Server 解锁表 declare @spid int

Sql Server 中锁的概念

锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做

SQL Server建库-建表-建约束

----------------------------------------SQL Server建库-建表-建约束创建School数据库-------------------------------------- --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建----exists关键字:括号里边能查询到数据则返回‘true’ 否则返回‘false’if exists(select * from sysdatabases where name =

SQL Server中临时表与表变量的区别

2009年02月20日 星期五  19:31 我 们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量.在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们 实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQL Ser

系统断定检查已失败。有关详细信息,请查看 SQL Server 错误日志

[1]报错信息 运行删除时报错 操作的删除语句: IF OBJECT_ID('tempdb..#temp_Robot') IS NOT NULL DROP TABLE #temp_Robot CREATE TABLE #temp_Robot(UserID INT NOT NULL PRIMARY KEY) select * from #temp_robot INSERT INTO #temp_Robot SELECT UserID FROM Db_Tank..Sys_Users_Order WH

获得sql server的table的表结构 -- 转到word中

SQL语句: select syscolumns.name,systypes.name,syscolumns.length from syscolumns join sysobjects on syscolumns.id=sysobjects.id and sysobjects.xtype='U' join systypes on systypes.xtype=syscolumns.xtype where sysobjects.name='master_location' order by sy