2012-01-24 41 views
6

我想將DatabaseA中的更改複製到DatabaseB,但我不確切知道這些更改是什麼。如何找到兩個數據庫之間的區別?

是否有一個SQL腳本可以找到數據庫之間不同的對象,然後生成一個腳本來更新DatabaseB以匹配DatabaseA?

我使用的是SQL 2005,而我不想失去現有的數據DatabaseB

+0

您可以在網站上爲DBA獲得更好的答案:http://dba.stackexchange.com/ –

+3

查看Red Gate SQL Compare。 – Yuck

+0

+1 for SQL Compare。儘管我討厭屠殺反射器,但它是一款高質量的產品。 – Jamiec

回答

3

Red Gate提供了架構和數據比較工具,可以完全滿足您的需求。市場上還有一些其他產品,比如Apex SQL Compare。但是,如果你有幸擁有Visual Studio 2010 Premium或Ultimate版本,那麼這些版本就有一個比較工具。

http://www.apexsql.com/default.aspx

http://www.red-gate.com/products/sql-development/sql-compare

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

否則,你將不得不使用鏈接的服務器和大量的查詢對INFORMATION_SCHEMA的。

其中一些軟件工具可以在試用版上使用,並且可能在沒有購買完整許可證的情況下獲得所需的軟件工具。

+0

謝謝,我不知道VS 2010 Premium/Ultimate有這個功能。因爲我喜歡Reflector,所以我也想試試Redgate的軟件。 – Rachel

+0

RedGate是我的首選工具,但它並不便宜。祝你好運! – Vinnie

7

嘗試DBComparer

+0

這是否適用於SQL Server 2016及更高版本?它在網站上說2008年和2005年? –

+1

@UsamaAhmed是的,我今天嘗試過,效果很棒。 –

2

我用Red Gate Software的「SQL比較」和「SQL數據比較」,它們就像一個魅力。我不認爲有一個腳本可以做同樣的工作,因爲如果它存在的話,那麼這些產品就沒有用處,也沒有市場。

0

我使用AdeptSQL差異。這是一個商業產品,發現在www.adeptsql.com。我認爲試用許可證是30天或50個初創公司。

相關問題