Sql-Server
Visual Studio SSDT 忽略發布配置文件中的查詢儲存選項
Visual Studio SSDT 發布配置文件中是否有任何方法可以完全忽略查詢儲存選項?
它一直要求我們在下面重新執行發布程式碼。我轉到數據庫高級設置,然後將其關閉。即使在它啟動之後,它仍然要求在發布配置文件中。有什麼方法可以忽略發布配置文件中的查詢儲存,而不是嘗試將其關閉?
我正在查看發布配置文件中的高級選項。
BEGIN ALTER DATABASE [$(DatabaseName)] SET QUERY_STORE (QUERY_CAPTURE_MODE = NONE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 367)) WITH ROLLBACK IMMEDIATE; END
似乎沒有辦法忽略單個數據庫屬性。但是,您可以通過將以下內容添加到您的發布配置文件 XML 文件來忽略它們:
<ScriptDatabaseOptions>False</ScriptDatabaseOptions>
我已經對此進行了測試,它確實遺漏了這些
QUERY_STORE
陳述。然後,如果您確實想要設置任何數據庫級別的屬性,您可以通過添加到項目並標記為
PostDeploy
在文件屬性中的 Post Deploy SQL 腳本手動添加它們,在“建構操作”下屬性下拉。您還可以將該 XML 元素添加到您的**.sqlproj文件或.sqlproj.user**文件中。
無論您將其放入三個文件中的哪個文件,此選項都需要放在 a
<PropertyGroup>
中。它們中的項目的順序<PropertyGroup>...</PropertyGroup>
無關緊要。如果您只是生成“創建”或“發布”SQL 腳本並且沒有立即部署它,另一種選擇是使用實用程序查找這兩
SET QUERY_STORE...
行並將其替換為以下內容:SET {some other DB property} = {its current setting}; --
例如:
SET TRUSTWORTHY OFF; --
這應該導致這兩行變成:
SET TRUSTWORTHY OFF; -- (QUERY_CAPTURE_MODE = NONE, ...
您可能想查看以下基於 dos 的 RegEx 處理器: