簡體   English   中英

SQL Server 2000到SQL Server 2008 R2的遷移

[英]SQL Server 2000 to SQL Server 2008 R2 migration

我使用SQL Server 2000包括77個數據庫,我想將它們遷移到新的SQL Server 2008 R2。

我可以使用attach或restore命令單獨執行此操作。 是否有任何腳本可以將77個數據庫遷移到安裝了SQL Server 2008 R2的新服務器。

謝謝

您可以編寫腳本以在循環中進行備份並在另一台服務器上進行還原

只要備份文件對兩個服務器都可見。 這將允許WITH MOVE選項允許不同的驅動器/文件夾。

備份也小於MDF / LDF,以減少復制

您需要生成自己的腳本,因為您真的想做的不僅僅是備份和還原。 您可能想要做的其他事情是運行DBCC UpdateUsage,設置兼容級別,更新統計信息,使用Data_Purity運行DBCC CheckDB,將頁面驗證選項更改為校驗和。 您也可以使用復制和全文目錄進行處理。 所有這些事情都可能需要進入你的腳本。

您需要設置一個腳本,該腳本執行先前在數據庫中提及的所有/部分/更多內容,然后擴展您的腳本以循環遍歷所有數據庫。 這可以使用批處理文件或powershell文件的組合並使用sqlcmd來完成。

例如,這是我將備份還原到新服務器后運行的一個腳本。 這是通過sqlcmd從Windows批處理文件調用的。

USE [master]

ALTER DATABASE [$(DATABASENAME)] SET COMPATIBILITY_LEVEL = 100

ALTER DATABASE [$(DATABASENAME)] SET PAGE_VERIFY CHECKSUM WITH NO_WAIT GO

使用[$(DATABASENAME)]

Go聲明@DBO sysname

- 是sa用戶

從sys.server_principals中選擇@DBO = name其中principal_id = 1

- 分配數據庫所有者

exec('sp_changedbowner'''+ + DBO +'''')去吧

- 修正計數

dbcc updateusage(0)go --check db包含列值的完整性

dbcc checkdb(0)使用Data_Purity,ALL_ERRORMSGS,NO_INFOMSGS去

- 確保統計數據是最新的

exec sp_updatestats

您可以使用Sql Compare等軟件工具。

如果沒有,我會單獨編寫腳本。

您可以運行內部sysobjects表並構建組合腳本,但我不會。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM