对 Microsoft Azure 禁用 SQL Server 托管备份
适用范围:SQL Server
本主题介绍如何在数据库和实例级别禁用或暂停目标为 Microsoft Azure 的 SQL Server 托管备份。
为数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份
通过使用系统存储过程 managed_backup.sp_backup_config_basic (Transact-SQL),可以禁用目标为 Microsoft Azure 的 SQL Server 托管备份设置。 @enable_backup 参数用于为特定数据库启用和禁用目标为 Microsoft Azure 的 SQL Server 托管备份配置;其中,1 表示启用配置设置,0 表示禁用配置设置。
为特定数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
EXEC msdb.managed_backup.sp_backup_config_basic
@database_name = 'TestDB'
,@enable_backup = 0;
GO
注意
可能还需要根据自己的配置设置 @container_url
参数。
为实例上的所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份
以下过程适用于想要从实例上当前已启用目标为 Microsoft Azure 的 SQL Server 托管备份的所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份配置设置的情况。 存储 URL、保持和 SQL 凭据之类的配置设置将在元数据中保留;并且如果以后为数据库启用了目标为 Microsoft Azure 的 SQL Server 托管备份,则可以使用这些设置。 如果要临时暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务,则可以使用主开关(本主题后面部分将对其进行说明)。
为所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 以下示例确定是否已在实例级别配置了目标为 Microsoft Azure 的 SQL Server 托管备份,识别实例上所有启用了目标为 Microsoft Azure 的 SQL Server 托管备份的数据库,并执行系统存储过程 sp_backup_config_basic 以禁用目标为 Microsoft Azure 的 SQL Server 托管备份。
-- Create a working table to store the database names
Declare @DBNames TABLE
(
RowID int IDENTITY PRIMARY KEY
,DBName varchar(500)
)
-- Define the variables
DECLARE @rowid int
DECLARE @dbname varchar(500)
DECLARE @SQL varchar(2000)
-- Get the database names from the system function
INSERT INTO @DBNames (DBName)
SELECT db_name
FROM
msdb.managed_backup.fn_backup_db_config (NULL)
WHERE is_managed_backup_enabled = 1
AND is_dropped = 0
--Select DBName from @DBNames
select @rowid = min(RowID)
FROM @DBNames
WHILE @rowID IS NOT NULL
Begin
Set @dbname = (Select DBName From @DBNames Where RowID = @rowid)
Begin
Set @SQL = 'EXEC msdb.managed_backup.sp_backup_config_basic
@database_name= '''+'' + @dbname+ ''+''',
@enable_backup=0'
EXECUTE (@SQL)
END
Select @rowid = min(RowID)
From @DBNames Where RowID > @rowid
END
若要查看实例上所有数据库的配置设置,请使用以下查询:
Use msdb;
GO
SELECT * FROM managed_backup.fn_backup_db_config (NULL);
GO
为实例禁用目标为 Microsoft Azure 的 SQL Server 托管备份默认设置
实例级别的默认设置适用于在该实例上创建的所有新数据库。 如果不再需要默认设置,则可以通过使用 managed_backup.sp_backup_config_basic 系统存储过程(将 @database_name 参数设置为 NULL),禁用此配置。 禁用并不会删除存储 URL、保持设置或 SQL 凭据名称之类的其他配置设置。 如果以后为该实例启用了目标为 Microsoft Azure 的 SQL Server 托管备份,将使用这些设置。
禁用目标为 Microsoft Azure 的 SQL Server 托管备份默认配置设置:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
EXEC msdb.managed_backup.sp_backup_config_basic @enable_backup = 0; GO
在实例级别暂停目标为 Microsoft Azure 的 SQL Server 托管备份
有时可能需要在短期内临时暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务。 managed_backup.sp_backup_master_switch 系统存储过程允许在实例级别禁用目标为 Microsoft Azure 的 SQL Server 托管备份服务。 相同的存储过程可用于恢复目标为 Microsoft Azure 的 SQL Server 托管备份。 @state 参数用于定义是应关闭还是开启目标为 Microsoft Azure 的 SQL Server 托管备份。
使用 Transact-SQL 暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击 “执行”。
Use msdb;
GO
EXEC managed_backup.sp_backup_master_switch @new_state=0;
Go
使用 Transact-SQL 恢复目标为 Microsoft Azure 的 SQL Server 托管备份
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击 “执行”。
Use msdb;
Go
EXEC managed_backup.sp_backup_master_switch @new_state=1;
GO