sql server 創建索引 超時時間已到


如下圖所示:在現場PR_Product表中添加緋聚焦索引PSCode,點擊保存按鈕后等了一段時間彈出超時警告!現場這張表的數據量也是特別大的(250+萬),但是我本地也是把現場數據庫還原了的,一樣的數據庫我本地能夠點擊保存添加索引,現場就不行了。

找度娘找尋解決方案:https://bbs.csdn.net/topics/392295567   https://www.jb51.net/article/28041.htm   這兩個網頁都有提到不要點擊保存按鈕,而是生成一個腳本,我按他們的意思找了半天終於被我找到了

具體步驟:

1.右擊表結構/設計/鼠標放在左側編輯區右鍵/添加索引鍵  彈出以下頁面;點擊添加按鈕,選擇列和排序方式,確定后修改名稱,點擊關閉按鈕(關閉后自動保存新添加的索引信息(注意此保存並不是表結構已經創建了索引了))

2.關閉上面的頁面后為下面第一張圖,鼠標指向左側處,右擊,在彈出列表中點擊生成更改腳本,彈出下面第二張圖(英文版客戶端則點擊changescript選項,彈出下面第三張圖)

 3.復制上面的第二張圖片的腳本,點擊關閉按鈕關閉此頁面;再新建一個查詢頁面,粘貼剛剛復制的內容,如下圖所示;

/* 為了防止任何可能出現的數據丟失問題,您應該先仔細檢查此腳本,然后再在數據庫設計器的上下文之外運行此腳本。*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE NONCLUSTERED INDEX TableColumnFile ON dbo.PR_Product
    (
    TableColumnFile
    ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE dbo.PR_Product SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

4.執行上面的腳本,再次查看該數據表的索引發現剛剛建好的索引已經存在了。此方法比直接點擊保存按鈕要快的多。

 

備注:圖片有點亂,是本地和現場湊起來的,功能步驟是一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM