2012-04-16 60 views
1

我試圖用SQL Server Management Studio與SQL Server 2008創建數據庫維護計劃。
如果我使用數據庫維護計劃嚮導並將其設置爲所有重建索引,然後運行這個包,它在桌子上失敗了。在SQL Server 2008上重新組織和重建索引

然後,我只需找出對象資源管理器中的表格,並使用此表格上彈出菜單中的重建所有索引,就可以了。

那麼困惑。這是否意味着需要不同設置的這兩種方式?如何解決這個問題?

另一個問題是: 如果應用Rebuild索引,那麼就不需要使用Reorganize了吧?

以下是作業歷史記錄中的錯誤消息: 消息 以用戶身份執行:xxx \ sqlservice。 Microsoft(R)SQL Server執行包實用程序版本10.0.5500.0 64位版權所有(C)Microsoft Corp 1984-2005。版權所有。開始:7:21:27 PM進度:2012-04-14 19:21:27.96源:{9FA4339C-7D29-4059-871B-5160B63DBBA0}執行查詢「DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp ...」。 :完成100%結束進度:2012-04-14 19:21:30.09來源:重建索引任務執行查詢「USE [MyDB]」。:完成0%結束進度錯誤:2012-04-14 19:21:30.12代碼:0xC002F210源:重建索引任務執行SQL任務描述:執行查詢「ALTER INDEX [MyTab1_PK] ON [dbo]。[MyTab1] ...」失敗,並顯示以下錯誤:「聯機索引操作只能在Enterprise版的SQL Server「。可能的失敗原因:查詢問題,「ResultSet」屬性設置不正確,參數設置不正確或連接未正確建立。結束錯誤DTExec:程序包執行返回DTSER_FAILURE(1)。開始時間:7:21:27 PM完成時間:7:21:30 PM已用時間:2.668秒。程序包執行失敗。該步驟失敗。

但是,如果我單獨在桌子上做MyTab1,那就沒問題。
我從重建列表中刪除了MyTab1,我將在另一個具有不同錯誤消息的表上得到另一個錯誤。

+3

「它在桌子上失敗」是什麼意思?你有沒有收到實際的錯誤信息?你能分享嗎? – 2012-04-16 14:09:11

+0

你能在這裏發佈確切的錯誤信息嗎? – rvphx 2012-04-16 14:17:07

+0

@RajivVarma是不是我問的那個問題? – 2012-04-16 14:20:40

回答

3

當你設置你的維護計劃,你需要確保你取消選中該複選框,在重建索引的子計劃,題爲:

Keep index online while reindexing

我懷疑你或創建時,有人檢查發現箱/編輯維護計劃,因爲它不應該被默認檢查(這就是爲什麼手動重建索引時不會發生錯誤的原因)。

+0

謝謝。我想這就是爲什麼。將檢查並再次嘗試。 – KentZhou 2012-04-16 16:36:17

+0

是的,我刪除複選框後,現在沒事了。非常感謝你。 – KentZhou 2012-04-24 16:59:19

0

回答你的問題,索引重建丟棄現有的索引並重新創建它,所以沒有必要使用整編

和錯誤是非常簡單的(即只能索引的葉節點上。): 「聯機索引操作只能在SQL Server的企業版中執行。」

聯機重建在SQL Server企業版上聯機可用,並且您的版本可能不是,因此只需將操作設置爲不在「嚮導」上運行嚮導。

快速說明:聯機重建,重建tempDB上的索引,使其在重建時可用於查詢。它在操作需要很長時間時使用,並且不能讓索引「未使用」。

0

我的問題是因爲我有一個離線數據庫,我預計在不久的將來會下降。數據庫丟失後,問題就消失了。