作者TeemingVoid (TeemingVoid)
看板Database
标题Re: [SQL ] 仅针对一个表单备份
时间Sat Sep 1 15:55:08 2012
※ 引述《zxc321 (坚持到底 )》之铭言:
: 是否有办法可以仅对A主机资料库(DB2012)某一个表单(dbo.cashinflow)进行备份
: 在B主机中资料库(DB2012)该表单(dbo.cashinflow)进行还原
Table-level 的备份/还原,常用的有两种作法:
甲案,利用 SSMS 的「产生指令码」精灵:
1. 启动 SQL Server Management Studio (以 2008 R2 举例)
2. 展开到您的资料库,滑鼠右键点按资料库名称 | 工作 | 产生指令码...
3. 精灵画面...
3.1 <下一步>
3.2 勾选「选取特定的资料库物件」,并且选择你要备份的资料表 <下一步>
3.3 点按「进阶」按钮
要编写的资料类型: 资料描述和资料。<确定>
<Note>这是重点,否则只会产生 create table 指令而没有资料。
3.4 输入档案的路径档名,例如: C:\temp\YourTable.sql
4.5 <下一步>... <完成>
用记事本检视(例如) C:\temp\YourTable.sql,会发现档案内容大致就是 create
table 指令与一大堆的 Insert 指令(类似 MySQL 的 MySqlDump 产生出来的备
份档)。所以,到另一部 SQL Server 上头就只是执行一遍档案内容的那些指令
即可还原资料表。
乙案,利用 bcp 工具程式汇入汇出资料,例如:
汇出:
bcp "select * from db2012.dbo.cashinflow" queryout c:\temp\cashflow.bcp
-S(local)\SQLExpress -T -N
汇入:
bcp test.dbo.cashinflow in c:\temp\cashflow.bcp -S(local)\SQLExpress -T -N
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.128.119
1F:推 zxc321:谢谢你的回答 不过请问第一个方法 因为我的是 SQL 2005 09/01 17:33
2F:推 zxc321:找不到进阶 那2005的指令码要选那个才可以备份含资料内容 09/01 17:39
4F:推 zxc321:另外若是采用汇入资料 及 汇出资料 方式进行可以吗? 09/01 17:57
5F:→ TeemingVoid:用 Management Studio 2008 连 SQL Server 2005 啊 :) 09/01 18:55
6F:→ TeemingVoid:无论甲案乙案,都会有第二次备份时,资料重复如何处 09/01 18:55
7F:→ TeemingVoid:理的问题,最简单的方式就是「清掉-重新载入」。 09/01 18:56
8F:推 Adonisy:连同INSERT指令是2008之後的功能 09/01 19:28
9F:→ TeemingVoid:楼上+1 直接用 bcp 做吧,还是老牌的工具可靠 ^^ 09/01 21:29
10F:→ TeemingVoid:-- 09/01 21:38
12F:→ TeemingVoid:下载Management Studio 2008 Express,然後,用它连 09/01 21:39
13F:→ TeemingVoid:SQL 2005,接下来的程序与上述回文大致相同,但是, 09/01 21:39
14F:→ TeemingVoid:「编写资料的指令」(最後一项),请选"True",以便於 09/01 21:40
15F:→ TeemingVoid:产生 Insert 指令。 09/01 21:40