2013-03-12 70 views
0

我需要從我的server1上遷移到服務器2,在這兩個服務器具有相同的DB模式數據庫別名SQL Server上2008

服務器1: DB1.dbo ......所有表 DB2.dbo ..所有表

服務器2: DB1.dbo ......所有表 DB2.dbo ......所有表

我需要在Server1連接到Server2,而且直到我完成了這個劇本,我不得不在本地環境上運行,並且DB名稱不同(如DB1_Local而不是DB1)

我嘗試創建一個同義詞「Server1.DB1.dbo」所以,當我加入Server1上的表與其他Server2上我要跑

MySynonymForServer1.MyTable JOIN MySynonymForServer2.MyTable ON .. ..

但這不起作用...

有什麼辦法可以做到這一點?

回答

1

同義詞用於對象。您不能爲模式或數據庫創建同義詞。但是,您可以爲不同數據庫中的對象創建同義詞。所以在你的情況下,你必須爲數據庫中的每個對象創建一個同義詞。通過循環遍歷sys.objects中的對象,可以實現自動化。只要確保過濾掉不需要的對象類型,如約束。

+0

謝謝塞巴斯蒂安! – 2013-03-12 12:59:05