zoukankan      html  css  js  c++  java
  • 消息 35371-聚集列存储索引

    sqlserver版本:2014   操作,对线上库库存表加CCI。  表:dbo.product

    然后就收到开发的消息,被告知查询报错。

    消息 35371,级别 16,状态 1,第 1 行
    具有聚集列存储索引的表不支持 SNAPSHOT 隔离级别。

    嗯?什么情况,怎么会报错呢,把开发的语句拿出来看一下,答题如下:

    select  * from  vproduct where column_a='aaa'
    vproduct 是基于dbo.product的一个视图,看到这个。第一感觉就是可能和我们的事物隔离界别室友关系的。于是查看一下事物的隔离级别:
    DBCC USEROPTIONS 

    嗯,看到好像是有点问题,我们指导sqlserver的默认隔离级别都是RC的隔离级别,为什么会被人修改为RC snapshot呢?不过我在本库执行了开发给的语句:

    select  * from  vproduct where column_a='aaa'

    什么鬼,没有问题啊,直接执行成功了。难道是视图更新原因,从新更新了一下视图,告诉开发去查,还是同样报错。

    这就奇怪了,我不在把这个报错定义到隔离级别上了。发现开发是在alwayson群组的从库进行查询的,于是我也去从库模拟查询一下。

    果然报错了。

    这样来看就很明显了,主库可以查询,从库不能够查询,应该是CCI的支持原因:

    额,最终发现是因为只读副本是不支持CCI的功能的,2016才会支持。结束

  • 相关阅读:
    大道至简第一章和java理论学时第一节。感受。
    jQuery基础
    JavaScript对象及初始面向对象
    使用JavaScript操作DOM
    JavaScript操作BOM对象
    JavaScript基础
    实体之间的对应关系
    MySQL常用函数
    SQL Server中分离附加数据及生成SQL脚本
    C#中子类构造函数
  • 原文地址:https://www.cnblogs.com/shengdimaya/p/6422858.html
Copyright © 2011-2022 走看看