2011-06-21 43 views
2

SQL Server或db2可以像oracle一樣執行整個數據庫導出(使用exp命令)嗎?對於SQL Server和/或db2,Oracle導出的等價物

我搜索了互聯網,發現SQL Server的bcp。但似乎我將不得不迭代所有的表來獲得我想要的。

對於db2,它看起來大致相同。有什麼我失蹤?任何人有任何建議和/或任何意見?提前致謝。

回答

5

這是SQL SERVER

備份&恢復

採取與SQL Server整個數據庫,你可以做一個BACKUPRESTORE

BACKUP:http://msdn.microsoft.com/en-us/library/ms186865.aspx

還原:http://msdn.microsoft.com/en-us/library/ms186858.aspx

進出口

您可以右鍵單擊在SQL Server Management Studio中的數據庫,並在任務,單擊導出數據。按照嚮導選擇要導出的對象並將它們放入適當的位置。

定製SSIS爲Raw格式

建立一個SSIS包,將讀取源表中的數據,並把它變成一個RAW文件在磁盤上,供以後使用。原始文件包含表格和數據的結構。

+0

好吧,這適用於sqlserver。但是備份文件在本地保存在數據庫機器上。我會用'osql'遠程執行命令,並希望該命令(mydatabase.bak)的輸出保存在遠程機器上,而不是數據庫機器上。這可能嗎?或者這只是我必須處理的事情? –

+0

只要您使用服務帳戶完全控制(共享和文件夾)的UNC,您應該可以使用TSQL進行備份和恢復(SSMS不支持UNC)。 –

+1

@Christopher Dancy - 只有在oracle中exp的一個FIY已經從oracle 11g中逐步淘汰,並由更快的expdp實用程序取代。 expdp實用程序僅將文件轉儲到服務器目錄,或者如果DBA已映射網絡驅動器以供oracle讀取。 –

2

DB2 for Linux,UNIX和Windows有一個名爲db2move的實用程序,該實用程序生成DDL以從頭開始重建數據庫,並遍歷所有表以通過EXPORT命令將其內容轉儲到平面文件。

+0

是的,db2move可以工作,但正如您所指出的那樣,我將從各自的文件中獲取每個表的數據。我可以使用它,但希望能得到一些文件,例如oracles「exp」工具。也許我只是有點貪婪。 –

+1

將整個DB2數據庫轉儲到一個文件中的唯一選擇是BACKUP實用程序,但生成的文件是專有的二進制格式,除非將其還原到DB2中,否則這些文件對您來說沒有多大用處。 –

相關問題