Sql-Server

複製塊程式碼部署

  • March 11, 2020

作為謹慎(閱讀:緩慢)升級過程的一部分,我們有一個數據庫(SQL Server 2008r2)正在事務複製,即表、儲存過程、視圖、索引視圖和 UDF,僅複製到另一台伺服器(SQL Server 2014)。但是,我們仍然需要同時部署新程式碼或對其進行更改。

每當我們嘗試在 Visual Studio 下使用 DACPAC 向其部署新的/更改的程式碼時,我們都會收到一系列以下錯誤:

Error SQL72035: [dbo].[SomeTable] is replicated and cannot be modified.

有沒有辦法避免這種情況?我在想,如果我們可以編寫複製的刪除和創建腳本,我們可以分別將它放在部署前和部署後腳本中,但我不確定 a)這是否是一種好方法,以及 b)常見做法。

我們面臨同樣的問題 - DACPAC支持複製(截至目前)。

我們所做的是 - 如果部署涉及/影響複製表,那麼

  • 手動刪除複製。

    • 使用 GUI 或 Powershell 編寫刪除並創建複製的腳本
    • 刪除複製
  • 執行您的 DACPAC 以升級您的系統

  • 創建複製(之前編寫的腳本)並啟動文章快照。


更新 :

USING GUI :

在此處輸入圖像描述

使用 PowerShell:

引用自:https://dba.stackexchange.com/questions/65568