sql-server-2005 – SQL Server在哪里存储存储过程代码?

我曾经需要存储过程的行,以便能够跟踪我是否引用了一些函数,过程或表,或者有时尝试在sp的代码内部找到一些内容

sql Server在哪里存储过程的代码

解决方法

使用sys.sql_modules,因为定义是nvarchar(max),因为它不会截断长代码

informatION_SCHEMA.ROUTInes中,ROUTINE_DEFinitioN列只是nvarchar(4000),所以如果你尝试查看一个长的过程的文本,你会看到它被截断。

使用它来搜索任何过程中的文本,查看,功能

SELECT disTINCT
    o.name AS Object_Name,o.type_desc
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.deFinition Like '%'+@Search+'%'
    ORDER BY 2,1

使用它来查看给定过程的文本,查看,功能

select * from sys.sql_modules where object_id=object_id('YourProcedure')

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...