簡體   English   中英

導入表和存儲過程

[英]import table and stored procedures

我正在嘗試將SQL Server 2008 R2中的表[大約40]和存儲過程[大約120+]從開發服務器導出到生產服務器。

我已經創建了一個.sql文件[右鍵單擊SSMS中的數據庫,選擇“ Tasks -> Generate Scripts ],但是當我嘗試將表和存儲過程導入到生產服務器中時[右鍵單擊SSMS中的數據庫, New Query然后將內容復制到其中]這給了我很多錯誤

大多

There is already an object named 'tblMyTable' in the database
Violation of PRIMARY KEY constraint 'PK_MyTable'. Cannot insert duplicate key in object 'dbo.tblMyTable'

知道我做錯了什么或應該做什么? 提前致謝。

當前技術的問題是假設您的目標是一個空數據庫。 因此,它將重新插入所有內容,而不會嘗試合並數據,這就是導致重復主鍵的原因。 如果使用Management Studio,則必須自己進行所有數據合並。

我的建議是首先研究redgate並不是免費的,但是所有時間保存它都是值得的。 您將需要同時使用SQL比較和數據比較( http://www.red-gate.com/products/sql-development/sql-data-compare/ )。

如果您擁有Visual Studio 2010 premium,另一種選擇是使用它( http://msdn.microsoft.com/zh-cn/library/aa833435.aspxhttp://msdn.microsoft.com/zh-cn/library/ dd193261.aspx )。 這提供了數據比較和架構比較選項。 它不如redgate好,但我發現它在大多數時間都有效。

如果您正在尋找免費的替代品,請查看此堆棧文章https://stackoverflow.com/questions/377388/are-there-any-free-alternatives-to-red-gates-tools-like-sql-compare

如果要將整個數據庫導入生產環境,則最好將其替換為生產數據庫。

120個SP和20個表似乎是整個數據庫。 因此應執行“替換替換”。

暫無
暫無

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

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