SQL Server 2005中为大型表创建索引


        修改表属性后使用“索引/键”对话框为一个大型表(记录数13,239,473)创建索引,提示:

                - 无法创建索引“IX_TableName”。  
                超时时间已到。在操作完成之前超时时间已过或服务器未响应。

        “生成更改脚本”后在“数据库引擎查询”中执行之,花费了12分钟的时间执行完毕。

        “索引/键”对话框中的超时时间是如何决定的?都是在本机上执行的操作怎么两种方式会有区别?纳闷……

Life is like a boat, and I'm at sea.

posted @ 2006-03-24 17:04 蜡人张 阅读(4548) 评论(2) 编辑 收藏

 回复 引用   
#1楼 2006-04-11 10:31 ulita[未注册用户]
我沒有裝sql 2k5,但是對您的問題有種想法,ms sql中有兩種UI查詢工具,query analyzer和Enterprise Manager。它們在連結資料庫的方式上有很大的不同,簡單來說,Query analyzer是非同步的連結,執行時間再長也不會有timeout 的問題,而Enterprise Manager是同步的連結,執行時間一長就會發生Timeout。您提到"修改表属性后....",這應該是用Enterprise Manager做的,所以時間一長會timeout,後來的“生成更改脚本.....”應該是用Query analyzer執行的,所以執行了12分鐘都不會timeout。而且不管是不是在本機,DB連線都是透過網路連結DB server的,也就是即使在本機也是產生網路連線連結到本機,所以是不分本機或遠端執行的。供參考。^_____^
 回复 引用 查看   
#2楼[楼主] 2006-04-11 20:25 蜡人张      
@ulita
应该就是正解,谢谢!