managed_backup.sp_backup_on_demand (Transact-SQL)

适用于:SQL Server 2016 (13.x) 及更高版本

请求 SQL Server 托管备份到 Microsoft Azure 以执行指定数据库的备份。

使用此存储过程为配置了 SQL Server 托管备份的数据库执行临时备份到 Microsoft Azure。 这可以防止备份链和 SQL Server 托管备份到 Microsoft Azure 进程的任何中断,并且备份存储在同一 Azure Blob 存储容器中。

成功完成备份后,将返回完整的备份文件路径。 其中包括备份操作中生成的新备份文件的名称和位置。

如果 SQL Server 托管备份到 Microsoft Azure 正在为指定数据库执行给定类型的备份,则会返回错误。 在这种情况下,返回的错误消息包括当前备份将上载到的完整的备份文件路径。

Transact-SQL 语法约定

语法

EXEC managed_backup.sp_backup_on_demand
    [ @database_name = ] 'database name'
    , [ @type = ] { 'Database' | 'Log' }
[ ; ]

参数

[ @database_name = ] 'database name'

要对其执行备份的数据库的名称。 为 @database_namesysname

[ @type = ] { 'Database' |“Log” }

要执行的备份类型:数据库或日志。 参数@type为 nvarchar(32)。

返回代码值

0(成功)或 1(失败)。

权限

需要具有 ALTER ANY CREDENTIAL 权限和存储过程的 sp_delete_backuphistory EXECUTE 权限db_backupoperator数据库角色的成员身份。

示例

以下示例为数据库 TestDB发出数据库备份请求。 此数据库已启用到 Microsoft Azure 的 SQL Server 托管备份。

USE msdb;
GO

EXEC managed_backup.sp_backup_on_demand
    @database_name = 'TestDB',
    @type = 'Database';
GO