MSSQL备份及数据迁移
版本:MSSQL 2008
备份情景:从A服务器的SQL 迁移到B服务器,并且数据也迁移过去。
操作环境:A服务器:WINDOWS7 B服务器:WINDOWS8.1 辅助工具:VNC
首先从A服务器进行备份:
OK,备份完成。通过VNC的Transfer Files将文件Download到B服务器
下载过来后,开始在B服务器进行备份及还原数据库:
备份有可能会遇到以下问题:
1.“备份集中的数据库与现有的数据库不同” ,
导致这个问题的原因一般是路径或者数据库版本问题导致
处理办法:在你需要备份的目的服务器的MSSQL执行以下SQL脚本,直接执行覆盖动作
1 2 RESTORE DATABASE DATA_CENTER 3 FROM DISK = 'D:\Backup\DATA_CENTER.bak' --bak文件路径 4 with replace, 5 MOVE 'DATA_CENTER' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\DATA_CENTER.mdf', --mdf文件路径 6 MOVE 'DATA_CENTER_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\DATA_CENTER.ldf' --ldf文件路径 7
执行成功后,此时数据库已经有表结构了,此时再按照系统的办法进行再次还原数据库,即可。
2.如再执行1的过程中,遇到“因为数据库正在使用,所以无法获得对数据库的独占访问权”
执行以下SQL:
1 ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE
再执行1的SQL脚本,最后可以再执行
ALTER database [ datebase] set online
这样,备份任务就已经完成了。