我試圖使用VSDBCMD.exe實用程序部署Visual Studio數據庫項目(GDR R2)。我可以在連接字符串使用集成安全性時成功進行部署,但當切換到使用Sql Server身份驗證時,出現以下錯誤:VSDBCMD.exe不使用集成安全性的數據庫部署
未能導入目標模型MyCatalog。詳細信息由於您在'MyCatalog'數據庫上沒有「查看定義」權限,反向工程操作無法繼續。
我可以在通過Visual Studio部署時使用Sql Server身份驗證成功部署。
下面是我使用運行命令:
vsdbcmd
/a:deploy
/dsp:sql
/dd-
/cs:"Data Source=localhost;Initial Catalog=MyCatalog;User ID=MyUserId;Password=MyPassword"
/script:C:\MyDbScriptFile.sql
/manifest:C:\Database.deploymanifest
/p:DeploymentConfigurationFile=C:\Database.sqldeployment
/p:SqlCommandVariablesFile=C:\Database.sqlcmdvars
所有參數都在單獨的行僅用於顯示的原因。再次,當我將連接字符串更改爲集成安全性時,它可以工作。
運行Visual Studio和VSDBCMD.exe的Sql Server Profiler只顯示MyUserId的連接。 Visual Studio似乎沒有使用其他帳戶。但是所做的查詢是不同的。我想我應該不會感到驚訝的是,這些工具似乎行爲不同。
我不想向用戶添加特定的視圖定義權限,直到我找到爲什麼我可以通過Visual Studio成功完成。
謝謝。