从sql备份文件中导入现存数据库中_数据库技巧

SQL本身有数据导入的操作。但如果要从一个备份的文件中导入数据,则要进行另外的操作。下面以一个例子进行说明。

  SQL服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1.BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变。   

1、首先,在“SQL企业管理器”中新建一个临时数据库A1。

2、右击A1数据库,选择:所有任务->还原数据库。  

3、在“还原数据库”窗口中,选择:“从设备”。

4、点击“选择设备”。  

5、点击“添加”。   

6、从文件名中选择要还原的数据库文件,如A1.BAK。  

7、点击“确定”,返回“还原数据库”窗口。  

8、点击“选项”卡,进入选项设置。  

9、钩选:“在现有数据库上强制还原”。  

10、修改“移到物理文件名”为:“c:/a1.ldf”、“c:/a1.mdf”。  

11、点确定,即可导入备份文件中的数据到临时数据库A1中。

12、此时,你可以将数据从A1导入到另外一真正要导入的数据库中,如DOE数据库。   

(下面的数据导入操作为SQL2000企业管理器的一般数据导入导出操作。)

13、在“SQL企业管理器”中选择“DOE”数据库。  

14、右击DOE数据库,选择:所有任务->导入数据。   1

5、在“DTS导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库A1。点击下一步。  

16、在“选择目的”中,系统已经默认为DOE数据库。   

17、连续点击“下一步”,直到完成。   经过上面的操作,你已经成功地将备份文件A1.BAK中数据导入DOE数据库中,并且DOE数据库原有数据不变。  

 此时,你可以删除临时数据库A1。

 

备份数据库,例如:

BACKUP DATABASE Northwind
   TO DISK = 'c:/Northwind.bak'

还原数据库,例如:

--返回由备份集内包含的数据库和日志文件列表组成的结果集
RESTORE FILELISTONLY
   FROM DISK = 'c:/Northwind.bak'

--还原由BACKUP备份的数据库
RESTORE DATABASE Northwind
   FROM DISK = 'c:/Northwind.bak'

--指定还原后的数据库物理文件名称及路径
RESTORE DATABASE TestDB
   FROM DISK = 'c:/Northwind.bak'
   WITH
   MOVE 'Northwind' TO 'c:/test/testdb.mdf',
   MOVE 'Northwind_log' TO 'c:/test/testdb.ldf'

   MOVE 'logical_file_name' TO 'operating_system_file_name'
指定应将给定的 logical_file_name 移到 operating_system_file_name。
默认情况下,logical_file_name 将还原到其原始位置。如果使用 RESTORE
语句将数据库复制到相同或不同的服务器上,则可能需要使用 MOVE 选项重
新定位数据库文件以避免与现有文件冲突。可以在不同的 MOVE 语句中指定
数据库内的每个逻辑文件。

--强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。
RESTORE DATABASE TestDB
   FROM DISK = 'c:/Northwind.bak'
   WITH REPLACE,
   MOVE 'Northwind' TO 'c:/test/testdb.mdf',
   MOVE 'Northwind_log' TO 'c:/test/testdb.ldf' 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值