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


Posted in 面试题 onApril 28, 2014
答:在您建立索引时,SQL Server 不会禁止您对表进行读访问,除非您正在建立一个簇索引。然而,如果某人此时试图更新表中的数据,SQL Server 会禁止更新操作 – 不管您正在创建什么样的索引类型 – 因为您不能取得表级别的独占锁(IX lock)。独占锁会和Create INDEX 语句持有的共享锁发生冲突。

当SQL Server 完成了建立索引的操作后,它必须修改系统表来反映数据表的变化;两个最主要被修改的系统表是sysindexes 和 sysobjects 表。因为您没有使用“normal”SQL来建立索引,所以您不能对SQL Server的操作进行跟踪。

在最后一个阶段, 独占锁(IX lock)并不出现在数据表中,而是出现在系统表正在建立索引的相应数据表项上。 一般来说,最后这个阶段比较短,因为SQL Server已经对数据进行了排序并抽取了行指针(物理行定位符或簇索引键)。唯一剩下的任务就是修改系统表,这个过程很快。如果系统表上的独占锁还在,您不能执行任何查询操作,因为您不能从sysindexes 和 sysobjects系统表中读取出所需要的信息。

Tags in this post...

面试题 相关文章推荐
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
介绍一下SQL Server的全文索引
Aug 15 面试题
DataList 能否分页,请问如何实现?
May 03 面试题
什么是三层交换,说说和路由的区别在那里
Sep 01 面试题
SQL注入攻击的种类有哪些
Dec 30 面试题
linux系统都有哪些运行级别
Apr 15 面试题
Windows和Linux动态库应用异同
Jul 28 面试题
Linux如何命名文件--使用文件名时应注意
May 29 面试题
捷科时代的软件测试笔试题
Nov 09 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
May 24 面试题
Java程序员面试题
Sep 27 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
北京SQL新华信咨询
Sep 30 #面试题
如何在发生故障的节点上重新安装 SQL Server
Mar 14 #面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 #面试题
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 #面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
Dec 13 #面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 #面试题
SQL Server面试题
Oct 17 #面试题
You might like
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
Ubuntu下安装PyV8
2016/03/13 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
python先序遍历二叉树问题
2017/11/10 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
单位计划生育责任书
2015/05/09 职场文书
在职证明范本
2015/06/15 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
Java实现聊天机器人完善版
2021/07/04 Java/Android