关与SQL Server数据库的异地备份还原出现的问题及解决方法
1、局域网内不同数据库的相同表的数据传输SQL语句
先执行一下:
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
再执行下面SQL语句
insert into OPENDATASOURCE('SQLOLEDB','Data Source=远程服务器IP地址;User ID=sa;Password=sa').目的数据库名.dbo.备份的表名 select *from 源表名
注:如果需要定时传输,则创建存储过程做好定时计划
2、还原备份数据库和msdb数据库时,报错“SSIS子系统加载失败,任务被挂起时”,执行下面命令并且重启代理服务即可
-- Delete the existing rows. DELETE FROM msdb.dbo.syssubsystems -- Fill the table with new rows pointing to the proper location of the DLLs. EXEC msdb.dbo.sp_verify_subsystems 1
3、数据库的备份文件.bak进行异地备份(其他文件通用)
forfiles /p 源地址 /s /m *.* /d -2 /c "cmd /c echo deleting @file ... && del /f @path"
start c:\"Program Files (x86)"\winrar\rar a -p123456 -k -r -s -m1 -agYYYYMMDD-{192.0.0.5} 目的地址\ 源地址\
forfiles /p 目的地址 /s /m *.* /d -2 /c "cmd /c echo deleting @file ... && del /f @path"
xcopy 目的地址\*.* 目的地址 /C /D /E /F /R /Y
注意每一个空格和斜杠都必须无误的打上