日期:2014-05-18  浏览次数:20450 次

我sqlserver2005中的存储过程被加锁了,如何才能修改其中的语句
我用的是动网的论坛,我今天打开动网的数据库,发现有几个存储过程(像dv_list、dv_toplist等)前面加了个小黄颜色的锁,点右键,发现修改项是灰色的,但是现在我想修改里面的代码,请问那位老兄能指点一二啊。
        第一次碰到这样的问题。我用的是sqlserver2005。

        在线等待,问题解决马上给分。


------解决方案--------------------
SqlServer不发现死锁都是会自动解开的,如果没有解开那么一定是还有人在使用,用的人多事务多,锁自然也多

如何察看当前数据库被锁的表
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName from sys.dm_tran_locks
where resource_type = 'OBJECT '

spid 就是锁住表的进程
tableName 就是被锁的表名

解锁
kill [spid]

------解决方案--------------------
你的存储过程中用到表了吗?如果用到了,你看一下那个表被锁了没有?如果被锁了,先解那个被锁了的表,再看看存储过程是不是还锁着。
------解决方案--------------------
存储过程被锁没遇到过。。。。
------解决方案--------------------
可能被加密了
------解决方案--------------------
活活 应该是加密的存储过程了。在创建存储过程的时候加上 with ENCRYPTION 就可以加密了。要解密恐怕没有那么容易呢。
------解决方案--------------------
如果是存储过程加密了,那就下载个解密器解密吧,网上有的是...