在 SQL Server 中监视长时间运行的查询的最佳方法是什么?

Mic*_*eth 11 sql-server-2008 sql-server

我必须为我的数据库运行相当多的长时间运行的查询(重建索引、更新大量数据)。是否有替代方法可以在 SQL Server Management Studio 中运行查询并每隔一小时左右检查一次?我想在完成后通过电子邮件或发送消息,但不知道最好的工具。

yru*_*hka 5

遵循 Gaius 帖子:您可以创建一个 .SQL 脚本,该脚本可以在脚本前使用 db 执行您需要的操作 -> 创建一个操作系统类型的 SQL 代理作业,该作业调用该脚本:

sqlcmd -E -S SERVERNAME -i"c:\YOURSCRIPT.sql" -o"C:\YOURSCRIPT_LOG.log"

添加新步骤并使用msdb.dbo.sp_send_dbmail程序发送电子邮件。可以自定义此功能以在邮件中显示来自 SQL 表的特定查询以确认脚本的执行...例如 dbcc showcontig 的重建索引。