2009-04-14 83 views
0

我們有幾個SQL Server 2000數據庫(我知道,我們需要升級)具有相同的結構並將它們設置爲複製到另一臺服務器。問題是,無論何時我必須更改結構(通常在所有數據庫上執行操作都非常容易,特別是使用Red Gate的工具時),我必須停止複製,更改結構,然後再次設置複製。對於每個數據庫,設置複製的步驟只需幾分鐘,但它是重複的,並且讓我發瘋。我已經在IDE中創建了複製過程的腳本,然後用前面的數據庫的名稱替換下一個數據庫的名稱並運行該腳本。仍然煩人,但比單擊IDE並忘記一個選項更快。在幾個數據庫上運行相同的複製腳本

我試過像使用「SP_MSFOREEACHDB」的東西,但看起來不太有希望。

我的猜測是我應該只使用從IDE生成的TSQL,並使用它作爲起點來構建一個新的TSQL腳本,讓它傳遞數據庫的名稱作爲參數。然後,當數據庫結構發生變化時,我需要在TSQL複製腳本中解決這個問題,並在那裏進行更改。這是其他人的問題嗎? 2005年或2008年是否有更好的「SP_MSFOREACHDB」,所以我不必管理一些瘋狂的腳本,只需在IDE中生成一個腳本,然後可以輕鬆地在多個數據庫上使用這些腳本?

+0

爲SQL Query Bridge提供了在所有服務器上運行腳本的一步。它是免費的從我們@ http://www.ispysql.com – IEnumerator 2009-04-15 02:20:21

回答

1

您使用SQL Server複製嗎?如果是這樣,爲什麼不對發佈數據庫進行更改,並讓它將模式更改推送給其訂戶?我們偶爾會在SQL 2005上執行此操作,而且大多數情況下運行良好;我在2000服務器上沒有任何複製經驗。

+0

是的,這是2005年的一個好處。 。 。您可以進行架構更改,並將其像數據一樣進行復制。 2000年不能這樣做。只是因爲這個原因纔會升級! – tooshel 2009-04-15 17:44:34

0

如果你可以使用SQL Server Management Studio,那麼SSMS tools pack有一個小部件允許相同的腳本在不同的數據庫上運行。

0

SQLCMD工具可以連接到SQL Server 2000並啓用來自命令行的交互。使用參數化查詢和一組固定的.bat文件(每個服務器一個文件)可以成爲您現在所做的一個很好的選擇。

相關問題