AZURE SQL 截断 TABLE 分区

AZURE SQL TRUNCATE TABLE PARTITIONS

我在尝试

时遇到了困难
TRUNCATE TABLE PartitionTable1 WITH (PARTITIONS (2, 4, 6 TO 8));

该语法与 MSDN 中的语法完全相同 here

在具有最新 SSDT 和目标平台的 VS 2012 中:"Microsoft Azure SQL Database V12" 我收到此错误:

"SQL46010: Incorrect syntax near (. " and its mark bracket between "WITH ( PARTITIONS"

我在 AZURE 管理门户中遇到了同样的错误 - SQL 数据库。

在 Microsoft SQL Server Management Studio 中我收到此错误消息:

"Incorrect syntax near 'WITH'."

如有任何想法,我们将不胜感激...

免责声明:我在 SQL 服务器工具团队工作。

这里有两个不同的问题,一个在 SSDT 中,另一个与 SSMS 失败有关。

  • 对于 SSMS 失败,问题是您使用的是 Azure v1 Server/Database,并且 V1 数据库不支持此语法。尝试升级服务器或 运行 升级另一台服务器以验证这是否按预期工作。有关于升级或创建 Azure V12 数据库的信息 here
  • 主要的 SSDT 错误是因为此语法是 Azure V12 的新语法(当前在任何其他 SQL 服务器版本中不可用)。 SSDT使用一个叫做SQLDOM的组件来解析脚本,当前版本仍然使用这个组件的SQLServer 2014 RTM版本。这将在即将发布的预览版中修复,该预览版将支持诸如此类的新语法。不幸的是,在此之前,这是一个会导致此语句在项目系统中失败的问题。解决方法是在更新 SSDT 之前避免使用新语法。