Geo*_*ge2 12 deadlock stored-procedures sql-server-2008
我正在使用SQL Server 2008 Enterprise.我遇到了存储过程foo的第9行遇到死锁问题的问题.我的问题是如何准确找到存储过程的第9行?
我的困惑是因为编码格式问题,如何正确定位第9行.
乔治,提前谢谢
cod*_*ike 14
如果你这样做
sp_helptext procedure_name
Run Code Online (Sandbox Code Playgroud)
SQL将输出其创建过程语句的"记忆"版本,这就是它显然从行中得到的行号.如果您在"网格输出"模式下具有SSMS,则它还将输出行号(作为结果集的行号).
注意:在我的情况下,它使用CREATE PROCEDURE语句加上它上面的一堆注释,因此第1行比CREATE PROCEDURE调用大约6行.
这是CREATE PROCEDURE声明中的第9行.SQL语句通常是多行的,因此"第9行"将引用语句的第一行(例如INSERT或UPDATE)
但是,如果您有CREATE PROCEDURE之上的注释或之前的空白行,那么您不能依赖于此...因此,使用ALTER PROC作为批次中的第一行运行ALTER PROC.