积极答复者
怎么才能把一个数据库原封不动的迁移到另外一台服务器上?

问题
答案
-
呵呵,山寨消息太多,误导了不少人
参考下Backup & Restore Database吧,更方便
最简单的例子:
1、在原服务器上:Backup Database DB To Disk='D:\DB.Bak'
2、移动D:\DB.Bak到新机上
3、Restore Database DB From Disk='D:\DB.Bak'
若新机上无原服务器上文件路径,先手动创建。否则需要使用MOVE指定新的存在的位置
**不用建空库,那是山寨流言
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
全部回复
-
备份 + 还原
还原之前注意不要在服务器上建空库, 有空库也最好先删除(或者还原的选项中去远那个覆盖)
还原的界面,注意那个还原为的文件目录设置,如果你的两台服务器磁盘分布不一样,就需要去调整这个
你是不是搞错了什么,服务器上如果没有一个空数据库让我还原,第二步就直接报错
标题: Microsoft SQL Server Management Studio
------------------------------
还原 对于 服务器“xxxxx”失败。 (Microsoft.SqlServer.SmoExtended)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1750.9+((dac_inplace_upgrade).101209-1051+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476
------------------------------
其他信息:
System.Data.SqlClient.SqlError: 数据库 "energy" 不存在。RESTORE 只能在还原主文件的完整备份或文件备份时创建数据库。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1750.9+((dac_inplace_upgrade).101209-1051+)&LinkId=20476
我不知道你的意思是不是指的覆盖所有的数据库,而我实际上只是要备份还原其中的一个数据库
-
呵呵,山寨消息太多,误导了不少人
参考下Backup & Restore Database吧,更方便
最简单的例子:
1、在原服务器上:Backup Database DB To Disk='D:\DB.Bak'
2、移动D:\DB.Bak到新机上
3、Restore Database DB From Disk='D:\DB.Bak'
若新机上无原服务器上文件路径,先手动创建。否则需要使用MOVE指定新的存在的位置
**不用建空库,那是山寨流言
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
-
用管理工具确实会遇到很多问题,提供两种方法:([123指的是数据库名字)
方法一、backup database 123 to disk = 'D:\123.bak'
backup 123 log to disk ='D:\123_log.bak'
在服务器B:
拷贝备份文件到服务器B的D盘
create database 123
restore database 123 from disk = 'D:\123.bak' with replace,norecovery
restore log 123 from disk ='D:\123_log.bak' with recovery
方法二:
分离附加数据库
在服务器A:
detach database 123
在服务器B
拷贝A的mdf、ldf文件到D盘
create database 123
on
(filename ='d:\123.mdf')
for attach
chenl
- 已编辑 i6first 2012年12月7日 12:55 打错了
-
呵呵,山寨消息太多,误导了不少人
参考下Backup & Restore Database吧,更方便
最简单的例子:
1、在原服务器上:Backup Database DB To Disk='D:\DB.Bak'
2、移动D:\DB.Bak到新机上
3、Restore Database DB From Disk='D:\DB.Bak'
若新机上无原服务器上文件路径,先手动创建。否则需要使用MOVE指定新的存在的位置
**不用建空库,那是山寨流言
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
成功了,你们的方法是对的,但是我很奇怪的是,你说的山寨是指的什么,sql server management studio吗,为何称它为山寨?
另外我发现貌似这家伙提供的还原界面,确实是不允许你对一个不存在的数据库进行还原的,必须选一个数据库,看来图形化界面确实不太可靠啊
-
估计图形界面用多了,用图形界面的话需要建立空库,用脚本的话不用预先建立空库,由于LZ没有把Master数据库数据库还原到新的服务器上
所以可以不用修改你的数据库的路径在新服务器上不用运行下面这两句假定你的数据库只有主数据文件跟日志文件
ALTER DATABASE 你的数据库 MODIFY FILE(NAME=你的数据库,FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL\Data\你的数据库.mdf')
GOALTER DATABASE 你的数据库 MODIFY FILE(NAME=你的数据库,FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL\Data\你的数据库.ldf')
GO至于表分区的话,今晚我回去测试一下,如果你在原服务器上建立了几个文件组跟辅助数据文件,表分区的数据放在这几个文件组里,辅助数据文件跟这些文件组一一对应
那么迁移到新服务器上的话表分区应该还存在的
因为你在新服务器上新建了一个空库,只有一个主数据文件,跟一个日志文件,还原的时候也是只有一个主数据文件跟日志文件
以前没有注意到这个问题,今晚回去测试一下
- 已编辑 Steven.桦仔 2012年12月8日 2:53
-
-
如果说这个问题是你提的,那你说错的时候,别人自然会给你解释,或者做个试验证明给你看。
如果这个问题不是你提的,那你自己都搞不清的情况下,就抛出自己的答案,别人帮你纠正错误是小事,但是对提问者造成误解,形成固定的概念,那就不好了。当然无论谁都不可能每次都给出100%正确的答案,但是纵观你最近在论坛无论是回帖量还是错误率(或者说是跟问题不相关的回帖),似乎有点高,我想这就是大家提醒你的原因吧。
Please click the Mark as Answer button if a post solves your problem!- 已编辑 Michael CS 2012年12月10日 15:59