日度归档:2019年5月18日

mssql sqlserver 使用sql脚本查询存储过程、视图、函数中脚本内容的方法分享


摘要:
下文讲述使用”系统对象”检索存储过程视图函数等中的脚本内容,如下所示:
实验环境:sqlserver 2008 R2



实现思路:
由于存储过程、函数触发器、视图等对象的定义脚本是存储在syscomments系统对象中,
我们可以通过检索syscomments中内容的方式,获取这些对象中的sql脚本内容。

例:
查询脚本定义中包含数据表”maomao”的存储过程、函数、触发器、视图等对象

 declare @s varchar(300)
 set @s ='maomao'  ----待检索字符串

  SELECT  b.objects.name AS [对象名称],
 a.text as [对象内容]  
FROM syscomments  a
INNER JOIN sys.objects  b ON a.id = b.object_id
WHERE  [text] LIKE N'%'+ @s +'%' 

mssql sqlserver获取数据表的最后一次用户操作时间


摘要:
下文讲述通过sql脚本获取数据表最后一次查询、更新等操作的最后一次时间,如下所示:
实验环境:sqlserver 2008 R2


SELECT
 OBJECT_NAME(object_id) AS [数据表名称], 
 last_user_seek,
 last_user_scan,
 last_user_lookup,
 last_user_update,
 last_system_seek,
 last_system_scan,
 last_system_lookup,
 last_system_update 
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('数据库名称')
GO