数据库项目和SQLCMD进行比较

时间:2011-08-16 12:35:43

标签: visual-studio wix sqlcmd

我们目前有一个数据库项目,我们编写了一个WIX安装程序来部署它,使用VSDBCMD意味着我们可以对当前数据库进行比较,并在需要时进行更新或全新安装。

但是我们发现了一些问题: 1.我们需要一个单独的数据库安装程序,需要在SQL服务器上执行(如果你想从另一台服务器上执行它,我们发现只有当它是一个域服务器并且你使用一个可以同时访问它们的帐户时才能这样做系统并且是sql上的sysadmin)。 2.必须安装紧凑的框架才能使VSDBCMD正常工作。

我们现在正处于将数据库安装程序集成到主安装程序的位置,这意味着大多数时候我们将从不同的系统安装,然后是sql机器,并且希望能够使用用于安装数据库的SA帐户。

我们已经尝试过SQLCMD,但似乎无法对现有数据库进行比较。

我想知道,如果a)可以使用SQLCMD进行比较以及如何工作,或者b)如果SQLCMD不是一个选项,VSDBCMD可以使用sa帐户,而不是域名帐户?

由于

1 个答案:

答案 0 :(得分:1)

SQLCmd只能在数据库服务器上执行SQL命令或批处理 - 它假定编写脚本的人知道数据库的当前状态,并且脚本将像在SSMS中运行一样执行。

如果要使用Visual Studio的声明性开发功能,则需要使用VSDBCMD将它们部署到服务器计算机上。如果在命令行中使用不使用集成登录的连接字符串,则应该能够从客户端计算机执行该连接字符串。例如:

"Data Source=$Server;User ID=$UserName;Password=$Password"

然后,$ UserName的SQL Server登录就足够了。