SQLCMD - 尝试删除带有字母数字名称'14Data'的数据库会出现语法错误

时间:2011-01-29 06:40:41

标签: sql-server sqlcmd drop-database

我正在使用SQL SERVER 2005 Express。我可以从查询分析器中删除数据库,你可以通过为数据库名称提供双引号来完成所谓的Mgmt Studio(ssmsee);事情已经完成;

删除数据库“14data” 转到

并且数据库已经消失了,

但sqlcmd在14上给出错误(Msg 102 Level 15 State 1 Incorrect sysntax 14附近) 可能是它将数字部分视为其他东西而不是数据库名称,我尝试使用N'',“”,$(),也尝试过变量并执行正确的sql脚本文件(在mgmt studio上正确运行)但它给出了在完全相同的地方出现同样的错误。

是否有任何人从SQLCMD删除了带有字母数字数据库名称的数据库?

2 个答案:

答案 0 :(得分:11)

您可以enclose it [] brackets.

e.g。

drop database [14data] go

答案 1 :(得分:5)

对于特殊字符使用[]方括号。它应该在处理关键字,列名,表名和数据库名的特殊字符时使用。

Drop Database [14data]