SQL Server数据库完整迁移[转]

来源:互联网 发布:什么数据适合因子分析 编辑:程序博客网 时间:2024/04/29 08:50
 

方法一:
1、停掉源数据库,将要复制的数据库两个物理文件(MDF、LOG)拷贝到目的地。
2、打开目的SQL Server数据库的企业管理器,将该数据库文件附加为本地数据库。但是库名要修改为不同的名字,例如XXBAK等。
3、新建一个与源数据库同名的空库,使用默认值建立。
4、在“安全性”——“登录”里新建该数据库的实际登录名,输入访问密码,“数据库访问”里选择对应的数据库,并勾上“db_owner”选项。
   因为仅仅附加数据库后不能再修改该库的登录名,其名称对应的登录名往往为空,使数据库内的表不能被访问。
5、从附加的备份数据库导出数据到新建的空数据库:
   选择源数据源和目的数据源以后,下一步选择“在SQL Server数据库之间复制对象和数据”,这点非常重要,不要选择默认的“从源数据库复制表和视图”,那样不会把数据复制过来。

___________________________________________________________________
方法二:
1、在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。
  备份 选数据库——完全,
  目的——备份到——按添加按钮 
  文件名——在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)
  重写——选重写现有媒体
  最后按确定按钮。
  如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。

2、目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;
  然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库
  还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定
  还原备份集->数据库-完全
  最后按确定按钮。完全的数据库导入成功了。
  (如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复操做失败,可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,然后再做还原)

3、这样恢复的数据库数据应该是完整的,但是用户名访问可能不正常