【问题标题】:Database deploy with VSDBCMD.exe not using integrated security使用 VSDBCMD.exe 部署数据库而不使用集成安全性
【发布时间】:2009-09-15 21:40:07
【问题描述】:

我正在尝试使用 VSDBCMD.exe 实用程序部署 Visual Studio 数据库项目 (GDR R2)。当连接字符串使用集成安全性时,我可以成功部署,但是当我切换到使用 Sql Server 身份验证时,我收到以下错误:

未能导入目标模型 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

所有参数仅出于显示原因而位于单独的行上。同样,当我将连接字符串更改为 Integrated Security 时,它可以工作。

为 Visual Studio 和 VSDBCMD.exe 运行 Sql Server Profiler 仅显示 MyUserId 的连接。 Visual Studio 似乎没有使用其他帐户。但是提出的查询是不同的。我想我不应该对这些工具的行为方式不同感到惊讶。

我不想向用户添加特定的视图定义权限,直到我发现为什么我可以通过 Visual Studio 成功地做到这一点。

谢谢。

【问题讨论】:

    标签: visual-studio-2008 visual-studio-dbpro


    【解决方案1】:

    Grant View Definition 确实使它起作用。 Visual Studio 似乎只是在偷偷地在别处获得权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2016-11-11
      • 1970-01-01
      相关资源
      最近更新 更多