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