DBA面试题

当前位置: 面试问题网 > DBA面试题 > 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗

当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗

答:在您建立索引时,SQL Server 不会禁止您对表进行读访问,除非您正在建立一个簇索引。然而,如果某人此时试图更新表中的数据,SQL Server 会禁止更新操作 – 不管您正在创建什么样的索引类型 – 因为您不能取得表级别的独占锁(IX lock)。独占锁会和Create INDEX 语句持有的共享锁发生冲突。
  
   当SQL Server 完成了建立索引的操作后,它必须修改系统表来反映数据表的变化;两个最主要被修改的系统表是sysindexes 和 sysobjects 表。因为您没有使用“normal”SQL来建立索引,所以您不能对SQL Server的操作进行跟踪。
  
   在最后一个阶段, 独占锁(IX lock)并不出现在数据表中,而是出现在系统表正在建立索引的相应数据表项上。 一般来说,最后这个阶段比较短,因为SQL Server已经对数据进行了排序并抽取了行指针(物理行定位符或簇索引键)。唯一剩下的任务就是修改系统表,这个过程很快。如果系统表上的独占锁还在,您不能执行任何查询操作,因为您不能从sysindexes 和 sysobjects系统表中读取出所需要的信息。

【当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗】相关文章

1. 当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗

2. 简述索引存取方法的作用和建立索引的原则

3. 写一个在SQL Server创建表的SQL语句

4. 介绍下Lucene建立索引的过程

5. 用C#语言写出与SQLSERVER访问时的具体过程

6. 介绍一下SQL Server的全文索引

7. 介绍一下SQL Server里面的索引视图

8. SQL Server里面什么样的视图才能创建索引

9. Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?

10. 如何反序的迭代一个序列?how do I iterate over a sequence in reverse order

本文来源:https://www.mianshiwenti.com/a13385.html

点击展开全部

《当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗﹞相关内容

「当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗」相关专题

其它栏目

也许您还喜欢