[英]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.aspx和http://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.