SQL Server 2008 R2 的脚本备份

Posted

技术标签:

【中文标题】SQL Server 2008 R2 的脚本备份【英文标题】:Scripting backup of SQL Server 2008 R2 【发布时间】:2019-02-22 04:44:37 【问题描述】:

我一直在尝试点击此链接来自动化我的数据库备份:

https://support.microsoft.com/en-us/help/2019698/how-to-schedule-and-automate-backups-of-sql-server-databases-in-sql-se

我已经在我的[master] 数据库中加载了存储过程,并创建了一个批处理文件来执行存储过程。

使用 SQL Server 身份验证运行下面的批处理文件时,我的备份位置没有任何输出

SQLCMD -S .\servername -U username -P password 
       -Q "EXEC sp_BackupDatabases  @databaseName='databasename', @backupType=’F’, @backupLocation = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup'"

我已确保用户名登录具有我尝试备份的数据库的适当角色成员身份(选择了db_backupoperator,以及db_owner)。

我也不确定如何生成日志文件以查看是否有任何回溯 - 批处理文件刚刚完成而没有输出。

这里是服务器属性:

Product: Microsoft SQL Server Express Edition with Advanced Services
Operating System: Microsoft Windows NT 6.1 (7601)
Platform: NT INTEL X86
Version: 10.50.1617.0 RTM

如果有人能帮助我,我非常感谢,谢谢。

【问题讨论】:

仍然应该有一些输出到命令shell...一些错误消息或异常.. 使用 RTM 版本?这不好。不支持 RTM。最后一个 SP 处于生命支持状态,很快就会失去支持。 【参考方案1】:

你的错误在这里:

@backupLocation = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup'

在文档中写了你应该如何指定路径:

示例1

sqlcmd -S .\EXPRESS –E -Q "EXEC sp_BackupDatabases @backupLocation='D:\SQLBackups\', @backupType='F'" 

注意路径中的最后一个斜杠。

现在,执行的简化代码如下所示:

declare @backupLocation nvarchar(200) = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup',
        @DBNAME sysname = 'databasename',
        @BackupFile varchar(100)

SET @BackupFile = @backupLocation+REPLACE(REPLACE(@DBNAME, '[',''),']','')+ '_FULL_'+ '20190222'+ '.BAK'
select @BackupFile

所以文件名是

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backupdatabasename_FULL_20190222

你应该在C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\寻找它

【讨论】:

以上是关于SQL Server 2008 R2 的脚本备份的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2008 r2备份的数据可以合并吗?

迁移MSSql Db - 来自SQL Server 2008 R2 Enterprise备份可以在SQL Server 2008 R2 Express版本中还原

SQL SERVER 2008R2 执行大脚本文件时,提示“内存不足”的解决办法

SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用

利用SQL Server 2008 R2创建自动备份计划

windows server2008r2 如何备份