Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 何处是使用MSBUILD创建SQL Server登录的方法?_Sql Server_Sql Server 2012_Msbuild_Msbuild Task - Fatal编程技术网

Sql server 何处是使用MSBUILD创建SQL Server登录的方法?

Sql server 何处是使用MSBUILD创建SQL Server登录的方法?,sql-server,sql-server-2012,msbuild,msbuild-task,Sql Server,Sql Server 2012,Msbuild,Msbuild Task,我必须为我们的应用程序创建一个新的SQL Server用户。为了省去我在每个安装上执行此操作的工作量,我希望我们的MSBUILD脚本能够处理它。我将登录用户和密码作为构建脚本中的变量。用户只能是数据读取器 有什么方法可以轻松做到这一点吗?您可以使用 create user $(username) 其中$(username)将是您的变量,并在msbuild执行期间随参数一起传递您可以使用(此软件包有不同的版本,请确保选择与您的操作系统匹配且与您的SQL Server版本兼容的版本) 该实用工具允

我必须为我们的应用程序创建一个新的SQL Server用户。为了省去我在每个安装上执行此操作的工作量,我希望我们的MSBUILD脚本能够处理它。我将登录用户和密码作为构建脚本中的变量。用户只能是数据读取器


有什么方法可以轻松做到这一点吗?

您可以使用

create user $(username)
其中$(username)将是您的变量,并在msbuild执行期间随参数一起传递

您可以使用(此软件包有不同的版本,请确保选择与您的操作系统匹配且与您的SQL Server版本兼容的版本)

该实用工具允许您在命令提示下输入Transact-SQL语句、系统过程和脚本文件

现在可以创建SQL脚本(例如createuser.SQL):

使用sqlcmd,您现在可以从命令行调用此脚本,如下所示:

sqlcmd-v DatabaseName=“MyDatabase”DatabaseUser=“Pete”SqlLogin=“John”-i“createuser.sql”-S“mymachine\mySqlInstance”

现在,您可以使用
Exec
任务创建MSBuild项目文件,该任务将为您调用该语句:

<Exec Command="sqlcmd -v ..." ... >
</Exec>

请注意,执行sqlcmd的用户应该在Sql Server中具有执行脚本化操作的权限。SqlCmd允许您指定特定的用户名和密码

<Exec Command="sqlcmd -v ..." ... >
</Exec>