【问题标题】:Can't create columnstore index无法创建列存储索引
【发布时间】:2014-08-21 02:09:30
【问题描述】:

当我尝试使用以下语法创建列存储索引时

create nonclustered columnstore index indx1 on table1 (row1, row2) 

我在“columnstore”关键字上收到一条错误消息incorrect syntax near columnstore. Expecting INDEX,在“row1”上收到一条错误消息incorrect syntax, expecting "(", or SELECT

我在 SQL Server 2012 中。我已经在临时表和永久表上尝试过,但仍然出现这些错误。出了什么问题?

谢谢

【问题讨论】:

  • 发布一个完整的可执行 T-SQL 脚本来演示该问题。
  • 你的数据库的兼容级别是多少?row1, row2是你的列名吗?
  • @Lamak 是的,这些是列名。兼容性级别是 100,所以 SQL 2008 ......也许这就是问题所在。我的 SSMS 虽然是 2012 年,所以也许语法正在注册,但编译时它不起作用......
  • 好吧,如果你的SQL Server Management Studio的版本是2014,如果数据库的兼容级别是100,那么那个数据库只有SQL Server的功能。 2008,因此没有列存储索引

标签: sql sql-server database performance tsql


【解决方案1】:

SQL 2008

此服务器版本不支持列存储索引。您编写的 SQL 在服务器上运行。客户端所做的只是通过网络传输 SQL 字符串。如果您愿意,可以使用 telnet 发送命令。

也许这是您的误解:在许多语言中,代码被编译成一些构建输出,例如可以在任何地方运行的二进制文件。使用 SQL,文本被发送到服务器并在那里运行。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多