Jer*_*dge 2 sql-server backup scripting automation
我正在 SQL 2008 R2 Express 上自动备份 SQL Server 数据库。这些备份由 Windows 任务计划程序每天启动,它执行一个批处理文件,然后执行一个 SQL 脚本。我无法使用 SQL 代理,因为这是快速版本。
目前,我正在编写一个脚本,一个一个备份每个数据库。然而,这是相当高的维护 - 每次添加、删除或重命名数据库时,我都必须修改此脚本以反映这些更改。相反,我想编写一个 SQL 脚本来一次备份所有数据库,而不需要一个一个地明确备份每个数据库。
这是当前用于备份单个数据库的脚本:
Print 'Backing up MyDatabase...'
BACKUP DATABASE MyDatabase
TO DISK = 'F:\Backups\SQL Databases\MyDatabase.bak'
WITH FORMAT,
NAME = 'Full Backup of MyDatabase';
GO
Run Code Online (Sandbox Code Playgroud)
如何枚举所有数据库的列表并执行循环以对所有数据库执行此备份?
只是备份过程的一些附加说明:
相信你可以参考ola.hallengren。SQL 服务器备份脚本。
如关于如何使用 SQL server Express 所述:
SQL Server Express 没有 SQL Server 代理。因此,必须使用 cmd 文件和 Windows 计划任务来计划存储过程的执行。按着这些次序。
- 下载维护解决方案.sql。
- 执行 MaintenanceSolution.sql。此脚本创建您需要的存储过程。
- 创建cmd文件来执行存储过程;例如:sqlcmd -E -S .\SQLEXPRESS -d master -Q "EXECUTE dbo.DatabaseBackup
@Databases = 'USER_DATABASES', @Directory = N'C:\Backup', @BackupType = 'FULL'" -b -o C:\Log\DatabaseBackup.txt- 在 Windows 计划任务中,创建任务以调用 cmd 文件。
- 安排任务。
- 启动任务并验证它们是否成功完成。
现在您可以根据需要轻松修改它。
注意:在维护解决方案中,您只能单独下载 SQL 服务器备份脚本。
归档时间: |
|
查看次数: |
7185 次 |
最近记录: |