【问题标题】:Can't drop SQL Azure database - incorrect syntax near "无法删除 SQL Azure 数据库 - “附近的语法不正确”
【发布时间】:2013-12-20 04:27:50
【问题描述】:

我正在针对 Azure SQL 服务器运行一些 SQL,试图删除数据库。

drop database "GEO-Dev-Scheduler";

当我对云中的 Azure SQL 数据库运行此命令时,我收到错误 Incorrect syntax near '"'。当我针对我的localdb 连接运行它时,它运行良好。

根据this documentation,Azure SQL 确实支持DROP DATABASE Transact-SQL 命令。我需要连接到master 数据库,我就是。 DROP DATABASE 语句必须是批处理中唯一的语句。

This page 给出了一些关于如何在 Transact-SQL 中使用 DROP DATABASE 的示例。有趣的是,这些示例都没有将数据库名称括在引号中。我的数据库名称包含破折号,当我尝试删除双引号时,我得到了Incorrect syntax near '-'。我还尝试使用单引号和反引号来彻底解决问题。

无论如何,这个 SQL 对 localdb 运行良好,所以我有点怀疑是否真的存在语法错误。

可能是什么问题?

【问题讨论】:

    标签: azure azure-sql-database


    【解决方案1】:

    删除数据库 [GEO-Dev-Scheduler];

    【讨论】:

    • 为了给这个答案添加一点信息,SQL Server 中用于分隔对象名称的默认字符是[]。使用" 的能力是ISO 兼容的东西,可以使用SET QUOTED_IDENTIFIER ON 启用,但默认情况下它是关闭的,因此在Windows Azure SQL 数据库中它是关闭的。
    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多