Re: [SQL ] 僅針對一個表單備份

看板Database作者 (TeemingVoid)時間13年前 (2012/09/01 15:55), 編輯推噓5(5010)
留言15則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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

09/01 17:33, , 1F
謝謝你的回答 不過請問第一個方法 因為我的是 SQL 2005
09/01 17:33, 1F

09/01 17:39, , 2F
找不到進階 那2005的指令碼要選那個才可以備份含資料內容
09/01 17:39, 2F

09/01 17:45, , 3F
其右邊網址的圖 http://imgur.com/ZW6XL
09/01 17:45, 3F

09/01 17:57, , 4F
另外若是採用匯入資料 及 匯出資料 方式進行可以嗎?
09/01 17:57, 4F

09/01 18:55, , 5F
用 Management Studio 2008 連 SQL Server 2005 啊 :)
09/01 18:55, 5F

09/01 18:55, , 6F
無論甲案乙案,都會有第二次備份時,資料重複如何處
09/01 18:55, 6F

09/01 18:56, , 7F
理的問題,最簡單的方式就是「清掉-重新載入」。
09/01 18:56, 7F

09/01 19:28, , 8F
連同INSERT指令是2008之後的功能
09/01 19:28, 8F

09/01 21:29, , 9F
樓上+1 直接用 bcp 做吧,還是老牌的工具可靠 ^^
09/01 21:29, 9F

09/01 21:38, , 10F
--
09/01 21:38, 10F

09/01 21:39, , 11F
如果原PO還是習慣用操作的,請到http://ppt.cc/vJsq
09/01 21:39, 11F

09/01 21:39, , 12F
下載Management Studio 2008 Express,然後,用它連
09/01 21:39, 12F

09/01 21:39, , 13F
SQL 2005,接下來的程序與上述回文大致相同,但是,
09/01 21:39, 13F

09/01 21:40, , 14F
「編寫資料的指令」(最後一項),請選"True",以便於
09/01 21:40, 14F

09/01 21:40, , 15F
產生 Insert 指令。
09/01 21:40, 15F
文章代碼(AID): #1GGRzV40 (Database)
文章代碼(AID): #1GGRzV40 (Database)