Answers:
Gaius的后续文章:您可以创建一个.SQL脚本,该脚本可以在脚本之前使用db来完成所需的工作->创建一个操作系统类型的SQL Agent作业,该脚本将调用该脚本:
sqlcmd -E -S服务器名称-i“ c:\ YOURSCRIPT.sql” -o“ C:\ YOURSCRIPT_LOG.log”
添加新步骤,并使用msdb.dbo.sp_send_dbmail过程发送电子邮件。可以自定义此功能,以在邮件中显示来自SQL表的特定查询,以确认脚本的执行...例如,重建索引的dbcc showcontig。
您可以选择使用SQL作业吗?您可以通过那里进行通知等操作。至于获得间歇性通知,这将需要存储过程中的一些代码等。
是的,只需使用xp_sendmail即可。您可以轻松发送预设消息或SQL语句的结果。此功能自SQL Server 6.5起已可用,但是由于在Denali中已作废-如果这将是您操作的永久组成部分,则应使用“企业”更多的数据库邮件。
我总是将消息写入“ EventLog”表。在处理大量数据时,我按块管理数据,并在每个块之后将状态更新写入EventLog。
当我想检查长时间运行的进程时,只需查询EventLog表。
输出示例:
------------------- -我的大更新- ------------------- 开始时间:2011-05-03 10:00:00 处理记录:1,000,000 块数:200 -大块1 --- 尝试更新MyTable 记录更新:5000 剩余记录:995,000 吞吐量:每秒4210条记录 -大块2- 尝试更新MyTable 记录更新:5000 剩余记录:990,000 吞吐量:每秒3555条记录 -大块3- 等等
我在EventLog表中也有一些列,以跟踪消息的编写时间,消息的写入过程等,等等。抱歉,在我的示例中未包含该信息。