1

SQL ServerManagementStudioとSQLServer2008を使用してデータベースメンテナンスプランを作成しようとしました。
データベースメンテナンスプランウィザードを使用して、すべてのユーザーがインデックスを再構築するように設定してからパッケージを実行すると、テーブルで失敗します。

次に、オブジェクトエクスプローラーでテーブルを見つけて、このテーブルのポップアップメニューから[すべてのインデックスを再構築]を使用します。問題ありません。

混乱している。これらの2つの方法で異なる設定が必要になるということですか?この問題を解決するにはどうすればよいですか?

もう1つの質問は、Rebuild indexを適用する場合、Reorganizeを使用する必要はないということです。

ジョブ履歴からのエラーメッセージは次のとおりです。ユーザーとして実行されたメッセージ:xxx\sqlservice。Microsoft(R)SQL Server Execute Package Utilityバージョン10.0.5500.0(64ビット用)Copyright(C)MicrosoftCorp1984-2005。全著作権所有。開始:7:21:27 PM進行状況:2012-04-14 19:21:27.96ソース:{9FA4339C-7D29-4059-871B-5160B63DBBA0}クエリ「DECLARE @ Guid UNIQUEIDENTIFIEREXECUTEmsdb..sp...」を実行しています。 :100%完了End Progress Progress:2012-04-14 19:21:30.09 Source:Rebuild Index Task Executing query "USE [MyDB]" .: 0%complete End Progress Error:2012-04-14 19:21:30.12コード:0xC002F210ソース:インデックスの再構築タスクSQLの実行タスクの説明:クエリ「ALTERINDEX [MyTab1_PK] ON[dbo]。[MyTab1]...」の実行が次のエラーで失敗しました: "

しかし、テーブルMyTab1で個別に行う場合は、問題ありません。
再構築のためにリストからMyTab1を削除しました。別のテーブルで別のエラーが発生し、別のエラーメッセージが表示されます。

4

3 に答える 3

3

メンテナンスプランを設定するときは、インデックスの再構築サブプランで、次のタイトルのチェックボックスをオフにする必要があります。

インデックスを再作成している間、インデックスをオンラインに保つ

デフォルトではチェックされるべきではないため、メンテナンスプランを作成/編集するときにあなたまたは誰かがそのボックスをチェックしたと思われます(これが、インデックスを手動で再構築したときにエラーが発生しない理由です)。

于 2012-04-16T14:57:45.057 に答える
0

質問に答えると、Index Rebuildは既存のインデックスを削除して再作成するため、再編成を使用する必要はありません(インデックスのリーフノードでのみ機能します)。

エラーは非常に単純です。「オンラインインデックス操作は、SQLServerのEnterpriseエディションでのみ実行できます。」

オンライン再構築はSQLServerのEnterpriseバージョンでオンラインで利用できますが、お使いのバージョンはおそらくそうではないため、ウィザードで「オンライン」で実行されないように操作を設定してください。

簡単な説明:オンラインの再構築では、tempDBのインデックスが再構築され、再構築中にクエリで使用できるようになります。操作に時間がかかり、インデックスを「未使用」のままにしておく余裕がない場合に使用します。

于 2012-04-16T14:58:41.573 に答える
0

私の問題は、オフラインデータベースを持っていたためでした。これは、近い将来に削除されると予想されていました。データベースが削除された後、問題は解消されます。

于 2014-10-20T13:44:33.623 に答える