2016-08-04 2 views
0

Итак, у меня есть скрипт, который используется для обновления пользователей на узлах SQL-сервера разработчика. Он отлично работает в SSMS, но когда я запускаю его из SQL ЦМД, я получаю «Неправильный синтаксис около ...» ошибка в этой строке:SQL-скрипт отлично работает при запуске из SSMS, но не проверяет синтаксис при запуске с sqlcmd

EXEC('Drop USER "' + @name + '"') 

@name правильно замещается именем пользователя I «Я пытаюсь сбросить, что он бросает ошибку на синтаксис.

ответ

0

Выяснил это. sqlcmd либо интерпретирует двойные кавычки как одинарные кавычки, либо полностью игнорирует их. Я думаю, что первое, потому что если я пытаюсь запустить либо:

DROP USER 'R715998-W10\MUD-CCTMRE.appool' 

или

DROP USER "R715998-W10\MUD-CCTMRE.appool" 

я получаю ту же самую ошибку.

Переключение из двойных кавычек для квадратных скобок зафиксировал его:

EXEC('Drop USER [' + @name + ']')