我在尝试时遇到了问题
TRUNCATE TABLE PartitionTable1 WITH (PARTITIONS (2, 4, 6 TO 8));
该语法与MSDN中的完全相同
在VS 2012与最新的SSDT和目标平台:"Microsoft Azure SQL数据库V12"我得到这个错误:
"SQL46010:(."附近的语法不正确,其标记括号介于"带(分区)"
我在AZURE管理门户-SQL数据库中也遇到了同样的错误。
在Microsoft SQL Server Management Studio中,我收到以下错误消息:
"'WITH'附近的语法不正确。"
任何想法都将不胜感激。。。
免责声明:我在SQL Server工具团队工作。
这里有两个单独的问题,一个在SSDT中,另一个与SSMS故障有关。
- 对于SSMS故障,问题是您使用的是Azure v1服务器/数据库,而v1数据库不支持此语法。请尝试升级服务器或在其他服务器上运行,以验证这是否符合您的预期。这里有关于升级或创建Azure V12数据库的信息
- 主要的SSDT错误是因为此语法是Azure V12的新语法(目前在任何其他SQL Server版本中都不可用)。SSDT使用一个名为SQLDOM的组件来解析脚本,当前版本仍然使用该组件的SQL Server 2014 RTM版本。这将在即将发布的预览版中得到修复,该预览版将支持这样的新语法。不幸的是,在此之前,这是一个会导致此语句在项目系统中失败的问题。解决方法是在SSDT更新之前避免使用新语法