如何在SQL Server中将用户数据库标记为系统数据库

时间:2016-09-15 07:50:00

标签: sql-server ssms sql-server-2014

是否可以强制用户定义的数据库充当系统数据库?

我想要实现的目标?

我有2个备用计划 - 一个用于all system databases,第二个用于all user databases。现在,我的维护计划没有任何变化,我想将我的一个数据库从一个维护计划移动到另一个维护计划。

1 个答案:

答案 0 :(得分:1)

没有指示系统数据库的数据库属性。系统数据库只不过是一个硬编码的数据库名称列表(master,model,msdb等),它们可能因上下文而异。例如,select Client_ID, 'A' as [Category Name], Prob_CategoryA as Probability from yourtable UNION ALL select Client_ID, 'B', Prob_CategoryB from yourtable UNION ALL select Client_ID, 'C', Prob_CategoryC from yourtable; 是SSMS对象资源管理器中的系统数据库,但在维护计划中不被视为系统数据库。

考虑Ola Hallengren's SQL Maintenance Solution,而不是维护计划。这在SQL Server社区中广泛使用,使用T-SQL和SQL代理作业执行SQL数据库维护任务。它还可以根据您的特殊需求进行扩展。例如,您可以自定义备份脚本,以便在指定tempdb时使用除备份系统数据库之外的用户数据库表,并在指定SYSTEM_DATABASES时排除这些数据库。这样就可以在不改变未来计划的情况下添加或删除数据库。