日期:2014-05-18  浏览次数:20583 次

备份数据库后还原数据库,与备份mdf,ldf文件然后再附加,有何区别呀,我不是问操作,而是指最后的效果?
备份数据库后还原数据库,与备份mdf,ldf文件然后再附加,有何区别呀,我不是问操作,而是指最后的效果?
------------------
我知道两种操作可以达到相同的目的.
但是据说这两种操作还是有区别的.
比如:
网友dawugui(潇洒老乌龟)在一个贴子中这样说过
对数据库而言:
1、使用备份还原机制。在一个SQL服务器上备份数据库,然后在另外一个SQL服务器上还原数据库。
2、附加方式。拷贝数据库的MDF,LDF文件,到另外一个服务器上用附加方式附加数据库。但这种方式可能掉索引、主键。
附加也可用命令进行。
示例
下面的示例将 pubs 中的两个文件附加到当前服务器。

EXEC sp_attach_db @dbname = N 'pubs ', 
  @filename1 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf ', 
  @filename2 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf '

所以想确认一下,是不是附加确实会掉索引、主键呀?哪种情况下会掉索引、主键呀?
除了这个,还有别的什么区别吗?谢谢了.


------解决方案--------------------
如果是附加,同时把master,model,msdb也拷贝了,附加数据库后在覆盖这三个数据库.(当然该服务器只有这一个库啊,如果有别的库就麻烦了.)
如果不这样搞,主建,索引,自增列,作业等会掉。

所以一般还是备份还原的好.
------解决方案--------------------
附加数据库 是把数据库的表结构,数据等恢复但是会丢失 作业,索引等信息
备份还原是整个都恢复
还是备份还原好点