
我需要對客戶的 SQL 2000 資料庫進行備份,但是有一些問題阻止我使用傳統方法執行此操作。我嘗試過使用 SQL Management Studio Express,但主機沒有提供足夠的權限來建立備份,並且我收到一些奇怪的錯誤訊息。我還嘗試執行“生成腳本”來重新創建架構,然後使用 DTS 嚮導來遷移數據,但是使用身份規範屬性設置的 ID 在複製後與實時數據庫不一致。這會導致一些外鍵損壞......
如果我沒記錯的話,我以前能夠使用Microsoft SQL 2000 Enterprise Manager 來執行該任務,但我在任何地方都找不到這個... Microsoft 似乎已經從他們的網站上撤下了大部分SQL Server 2000的內容。
有人知道我可以在哪裡找到 Enterprise Manager 的副本(或 SQL Server 2000 的試用版,我相信該元件附帶該元件)?或者相反,有人知道任何其他能夠鏡像遠端 SQL Server 2000 DB 的工具(最好是非商業工具)?
謝謝!
答案1
這微軟下載中心有可用的服務包,但不確定它們是否允許您直接從 SP 安裝程式安裝用戶端工具。
答案2
尋找並使用命令列客戶端“osql.exe”連接到實例。這將允許您執行 Transact SQL 命令並附帶 sql2000(以及 sql server 7.0 和 sql server 6.5,IIRC)。最新版本的 sql server 提供了一個名為「sqlcmd.exe」的類似工具。無論是否安裝了其他“客戶端工具”,osql.exe 或 sqlcmd.exe 都應該在那裡。在最壞的情況下,您可以使用資源管理器或類似的工具搜尋安裝 sql server 二進位檔案的磁碟機:
dir c:\osql.exe /s
使用 CLI 連線到實例後,只需執行備份命令即可。網路上有很多例子。 Microsoft 不再線上提供 SQL Server 2000 文檔,但SQL Server 2005 的文件在這裡。只要保持命令簡單並避免新功能(例如備份壓縮),備份命令(和恢復命令)的語法在 2000 年到 2005 年(或 2012 年)之間就沒有太大變化。 sql2000 實例的最簡單備份如下所示:
backup database my_databasename to disk = 'c:\backups\my_databasename.bak' with init
go
您需要“go”,否則命令將無法運行。確保該路徑存在且 SQL Server 服務的登入名稱有權在其中寫入。您可以使用 UNC 路徑作為備份文件,但有時由於權限/安全性等原因,本地備份更容易。