我正在制定维护计划,但在出错时我添加了带有一些文本的“通知操作员任务”。但我希望能够添加如下内容:
在 MyDatabase\Instance_name 上备份失败...blablabla
我想我应该以某种方式使用 @@SERVERNAME 和 DB_NAME(db.database_id) 但到目前为止找不到如何去做,也许是微不足道的但没有找到运气。
我正在制定维护计划,但在出错时我添加了带有一些文本的“通知操作员任务”。但我希望能够添加如下内容:
在 MyDatabase\Instance_name 上备份失败...blablabla
我想我应该以某种方式使用 @@SERVERNAME 和 DB_NAME(db.database_id) 但到目前为止找不到如何去做,也许是微不足道的但没有找到运气。
通知操作员任务独立于数据库上下文。
此外,在“属性”对话框中输入的文本会传递到类似于以下内容的语句中(通过单击
View T-SQL
按钮获得):所以你会怎么做?
获取服务器上下文很容易通过切换到执行 T-SQL 语句任务来解决,您可以在其中放置您想要的任何 SQL。
但是,这并没有解决数据库名称问题,因为您将返回
master
或返回msdb
任何特定的用户数据库。我认为不可能使用维护计划来获取您要执行的操作的数据库名称。备份数据库任务是完全独立的。您需要做的是正确使用 SSIS,并将备份数据库任务和通知操作员任务放在一个循环容器中,其中将分别为每个数据库执行流程。
或者,您可以采用完全不同的方法并使用基于脚本的备份解决方案并对其进行自定义以满足您的确切需求。