0
我有以下脚本,我希望生产人员使用sqlcmd执行。我想将APP_POOL_USER的名称作为变量传递给脚本,因为他们需要这种方式。不要问我为什么。将登录名作为变量传递给SQL Server脚本
CREATE USER [$(APP_POOL_USER)] FOR LOGIN [$(APP_POOL_USER)]
WITH DEFAULT_SCHEMA=[schema]
我收到以下错误,当我执行上述
码消息15007,级别16,状态1,行2 '$(APP_POOL_USER)' 不是有效的登录名或你做没有权限。
这怎么办?
编辑:
这是批处理文件来执行它,我至今
@ECHO OFF
SET DB_SERVER_NAME = ".\SQLEXPRESS"
SET APP_POOL_ACCOUNT = "ExUserAccout"
sqlcmd.exe -E -S "%DB_SERVER_NAME%" -i "SQL_DB.sql" -o SQL_DB.log -v APP_POOL_USER="%APP_POOL_ACCOUNT%"
您不能先建立“CREATE USER ...”命令(使用变量),然后将其作为查询参数传递给sqlcmd? –
我猜。这是我从SQL Management Studio中获得的一个大脚本的一部分。我更像是一个前端人物。我可以在同一个脚本中做到吗? – Omar
上面的批处理文件,它现在必须返回一个不同的错误?哦,我明白了,你传递的是.sql文件,而不是查询。那么我想,我们必须查看'SQL_DB.sql'中的内容。 –