我在尝试时陷入困境
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 Server 工具团队工作。
这里有两个单独的问题,一个与 SSDT 相关,另一个与 SSMS 故障相关。
- 对于 SSMS 故障,问题在于您使用的是 Azure v1 服务器/数据库,并且 V1 DB 不支持此语法。尝试升级服务器或在另一台服务器上运行,以验证这是否按预期工作。有关升级或创建 Azure V12 数据库 here 的信息。
- 主要的 SSDT 错误是因为此语法是 Azure V12 中的新语法(目前在任何其他 SQL Server 版本中均不可用)。 SSDT使用一个名为SQLDOM的组件来解析脚本,当前版本仍然使用该组件的SQL Server 2014 RTM版本。这将在即将推出的预览版本中修复,该版本将支持此类新语法。不幸的是,在此之前,这个问题将导致该语句在项目系统中失败。解决方法是在 SSDT 更新之前避免使用新语法。
关于t-sql - AZURE SQL 截断表分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29387210/