sqlserver脚本备份固定多个数据库

sqlserver脚本备份固定多个数据库,第1张

1.用SqlServer的维护计划

在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个‘备份数据库'任务和一个‘清除维护'任务。

需要注意的点:

1)有备份任务里边选择备份的库尽量选‘所有用户数据库'这项,以免选择了特定数据库备份以后某天添加了新数据库却忘了勾选导致丢备份。

2)选项验证备份集完整性和压缩备份尽量都选上。

3)备份的路径尽量别选磁盘根目录。

2.通过脚本+作业的方式备份数据库(非xp_cmdshell)。如果是多个库的话自己写个游标用动态sql的方式即可实现多库备份,我这里就提供个思路偷懒就不整理了。

复制代码 代码如下:

DECLARE @filename VARCHAR(500)

DECLARE @date DATETIME

DECLARE @OLD_DATE DATETIME

SET @date=GETDATE()

SET @OLD_DATE=GETDATE()-5 --超过5天的备份即将被删除

SET @FILENAME = 'E:\存放位置\数据库名称-'+CAST(DATEPART(YYYY,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(MM,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(DD,@DATE) AS VARCHAR(10))+'.BAK'

BACKUP DATABASE [数据库名称] TO DISK = @filename WITH COMPRESSION

EXECUTE master.dbo.xp_delete_file 0,N'E:\存放位置',N'bak',@OLD_DATE,1

GO

3.通过脚本+作业的方式备份数据库(用xp_cmdshell),如果你觉得你们服务器的网络、代码、以及防火墙足够安全可以开启xp_cmdshell的方式来备份。

如果数据库没开启xp_cmdshell的功能需要用以下脚本开通此功能,开通以后记得关闭sp_configure。

复制代码 代码如下:

USE Master

GO

EXEC sp_configure 'show advanced options', 1

1、在ECS上使用mysqldump进行逻辑备份,再中转到本地服务器。使用ECS中转是为了避免将RDS暴露到公网上。

2、在RDS控制台上的“备份恢复”中找到“数据备份”,七天内的全量备份是带有下载地址的。点击后会产生一个24小时有效的下载地址。下载回去后按照文档说明进行恢复。

1,确保备份服务器bs的空间足够存放远程数据库服务器ds的备份文件。 df -k (unix) df -h (linux)2.检查备份服务器bs的interfaces文件是否正常 sample_bs_backupmaster tcp ether 132.230.99.2 4200query tcp ether 132.230.99.2 42003.启动备份服务器bs的backupServer服务 startserver -f RUN_sample_bs_backup >> sample_bs_backup.log4.在数据库服务器ds的interfaces文件添加备份服务器bs的ip和端口信息,名字须根备份服务器bs的interfaces文件保持一致 sample_bs_backupmaster tcp ether 132.230.99.2 4200query tcp ether 132.230.99.2 42005.检查数据库服务器ds的interfaces文件是否正常 sample_ds_backupmaster tcp ether 132.230.99.1 4200query tcp ether 132.230.99.1 42006.启动数据库服务器ds的backupServer服务 startserver -f RUN_sample_ds_backup >>sample_ds_backup.log

7.连接数据库服务器ds的数据服务,添加备份服务器sample_bs_backup到master..sysservers表中。 执行 sp_addserver sample_bs_backup,null 或者 print 'sample_bs_backup' exec sp_addserver sample_bs_backup, sql_server, sample_bs_backupexec sp_serveroption sample_bs_backup, 'timeouts', trueexec sp_serveroption sample_bs_backup, 'net password encryption', falseexec sp_serveroption sample_bs_backup, 'readonly', falseexec sp_serveroption sample_bs_backup, 'rpc security model A',true go 并用以下命令用于查看是否添加成功 sp_helpserver8. 连接数据库服务器ds的数据库服务,进行备份 isql -Usa -Ssample_ds -P123456 dump database tacdb to "/backup/sybase/20100519db.dmp" at sample_bs_backup 备份完成!

若是还原是数据库,则执行:

load database tacdb from '/backup/sybase/20100519tacdb.dmp' at sample_bs_backup9. 备份完毕后,连接数据库服务器ds的数据库服务,删除备份服务 sp_dropserver sample_bs_backup 10,删除数据库服务器ds的interfaces文件关于sample_bs_backup的配置 sample_bs_backupmaster tcp ether 132.230.99.2 4200query tcp ether 132.230.99.2 4200

说明: 1.经与SYBASE公司数据库支持工程师联系,跨平台的数据库dump和load是无法进行的,就像我这种情况——从UNIX服务器上dump出来的数据库,无法load到Windows服务器上的数据库中。只能通过bcp来进行。 2.不同版本的数一据库之间无法进行dump和load。

错误现象1:

Backup Server session id is: 9. Use this value when executing the'sp_volchanged' system stored procedure after fulfilling any volume changerequest from the Backup Server.Backup Server: 5.16.2.2: Client-Library error: Error number 3, Layer 6, Origin8, Severity 5: ct_connect(): directory service layer: internal directory controllayer error: Requested server name not found..Backup Server: 5.3.2.1: Cannot open a connection to the slave site 'remote_bs'.Start the remote Backup Server if it is not running.Backup Server: 5.7.2.4: RPC ('as_arch_device') execution failed.

错误原因:

数据库服务器ds的interfaces文件的备份服务器配置与根备份服务器bs的interfaces文件不一致。

错误现象2:

Server 'jsalarm3', Line 1:Can't open a connection to site 'SYB_BACKUP'. See the error log file in the SQLServer boot directory.Msg 7205, Level 18, State 3:Server 'jsalarm3', Line 1:Can't open a connection to site 'SYB_BACKUP'. See the error log file in the SQLServer boot directory.

错误原因:

数据库服务器ds的backupserver未启动。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6804069.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存