0

我非常喜歡Visual Studio 2010中的新SQL Server數據庫項目。我還喜歡使用「生成DROP語句來處理目標數據庫中的對象,但是不在部署屬性中的數據庫項目「選項中。Visual Studio 2010 SQL Server數據庫項目 - 忽略存儲過程和函數

但是,我不想使用此接口管理存儲過程和函數;我有另一個工具。每次構建和部署時,VS都會放棄我用外部程序創建的存儲過程。我想基本上「忽略」存儲過程和函數。

有沒有辦法在構建SQL Server數據庫項目時忽略存儲過程和函數?

如果我想使用我的外部工具存儲過程和函數,我將無法使用「生成DROP語句...」選項。

+1

我可以問一下'其他工具'是什麼嗎? – 2010-05-31 20:19:51

回答

2

VSDB將過程和函數的定義存儲在純SQL文件中。我的建議是讓'其他工具'將SQL文件的過程和功能直接放入VSDB項目中,然後構建您的VS DB項目並進行部署。這樣,您可以根據模式免費檢查過程和函數,因爲VS DB構建將驗證它們。
更好的是,讓'其他工具'在VS DB解決方案構建過程中創建SQL定義作爲自定義構建步驟的一部分。

據我所知,不是'其他工具'可能不會合作,並希望將其輸出直接部署到數據庫(即連接和創建過程),但如果您可以修改它以生成SQL文件,那麼值得追求與VS DB的整合並進行統一部署。

讓VS DB'忽略'你的過程和函數可能會起作用,但是你可能會遇到各種問題,因爲當VS DB爲表等部署新模式時,它可能會丟棄並重新創建它們,從而破壞依賴關係從你的'其他工具'程序和功能,打破需要的訪問權限,誰知道還有什麼。更何況,如果你只有一個SCHEMABINDING函數,它將完全阻止VS DB的部署。並且由於標量函數通常是require SCHEMABINDING to prevent spools ...

+0

這聽起來像是要走的路,謝謝。 – 2010-05-26 15:35:21

相關問題