查询在 Management Studio 中工作正常,但从批处理 file/CMD 提示中抛出错误
Query works fine in Managment Studio but throws error from batch file/CMD prompt
我有这个 sql 查询:
CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser];
当我从 SQL Management Studio 执行时工作正常。即在(USE [myDB];
)
之前为我"use"d的数据库成功创建了一个用户
我运行正在从 DOS 批处理文件中执行相同的查询:
sqlcmd -E -S localhost\myInstance -Q "CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser];"
它抛出错误:
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'myDomain\myUser' already exists in the current database.
我最初认为我的脚本一定有问题,然后尝试从命令提示符 运行 它。它抛出了同样的错误。
请问是什么原因造成的?
for the DB I "use"d before (USE [myDB];)
您没有指定要在 SQLCMD 调用中使用的数据库。键入 sqlcmd /?
或阅读 here 如何指定数据库。
我有这个 sql 查询:
CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser];
当我从 SQL Management Studio 执行时工作正常。即在(USE [myDB];
)
我运行正在从 DOS 批处理文件中执行相同的查询:
sqlcmd -E -S localhost\myInstance -Q "CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser];"
它抛出错误:
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'myDomain\myUser' already exists in the current database.
我最初认为我的脚本一定有问题,然后尝试从命令提示符 运行 它。它抛出了同样的错误。
请问是什么原因造成的?
for the DB I "use"d before (USE [myDB];)
您没有指定要在 SQLCMD 调用中使用的数据库。键入 sqlcmd /?
或阅读 here 如何指定数据库。