SQLCMD - при попытке удалить базу данных с буквенно-цифровым именем «14Data» выдается синтаксическая ошибка - PullRequest
7 голосов
/ 29 января 2011

Я использую SQL SERVER 2005 Express.Я могу удалить базу данных из анализатора запросов, который вы называете Mgmt Studio (ssmsee), предоставляя двойные кавычки для имени базы данных и все готово;

Удалить базу данных "14data" Перейти

иБД пропала,

, но sqlcmd выдает ошибку на 14 (Msg 102 Уровень 15 Состояние 1 Неверный sysntax около 14) Может быть, он рассматривает числовую часть как нечто другое, а не имя базы данных, я пытался с N '', "", $ (), также пробовал переменные и выполнял правильные файлы сценариев sql (которые правильно работали в mgmt studio), но выдает ту же ошибку в том же месте.

Any1 когда-либо удалял базу данныхс буквенно-цифровым именем БД из SQLCMD?

Ответы [ 2 ]

11 голосов
/ 29 января 2011

Вы можете заключить его в скобки [].

, например

drop database [14data] go
5 голосов
/ 29 января 2011

для специальных символов используйте квадратные скобки [].Его следует использовать при работе с ключевыми словами, специальными символами для имен столбцов, имен таблиц и баз данных, а также.

Drop Database [14data]
...