2011-01-22 21 views
0

ストア記事用に大きなデータテーブル(5億以上のレコードを持つ)があるため、3台のサーバーにわたるSQL Server 2008の分散パーティションビュー機能を使用します。SQL Server 2008 R2分散パーティションビュー更新/削除の問題

選択操作と挿入操作は正常に動作します。しかし、削除または更新アクションは時間がかかり、完了することはありません。

アクティビティモニターの[プロセス]タブで、[更新タイプ]フィールドに[待機タイプ]フィールドが表示されていることを確認します。

何が問題なのですか?

注:私はMSDTCの問題は、更新コマンドが第2サーバーのSQLプロファイラに表示されないためだと思います。同じサーバー上でMSDTCの状態をチェックすると、ステータス列は更新(アクティブ)になります。

+0

5000万は小さいが、それほど大きくはない;)ここでは分散パーティションを使う必要はない。あなたのハードウェアは?パーティションなしで実行してみてください。どのように分割するのですか? – TomTom

+0

本当に私は配布する必要があるため、毎日約600万の記事を追加します。 2 TB raid H.D.D. 32 GB RAM。また、私はFederated DataBaseモデルを使用します – Hamid

答えて

0

他のサーバーのすべてのデータが、更新ステートメントのフィルターが適用される前に照会が実行されているマシンに引き継がれる可能性が最も高いです。これは、4つの部分からなる名前付けを使用すると発生します。考えられる解決策は次のとおりです。

  • 各テーブルに、パーティションテーブルの最小値と最大値を定義する正しい「check constraint」があることを確認してください。このパーティションがなければ、削除は正しく機能しません。
  • 更新を行うには、別のサーバーで4部構成の名前付きストアドプロシージャを呼び出します。お使いのサーバ500万件のレコードを提供するために、他のサーバー

に接続する

  • 使用OPENQUERY()が適切であると思われます。スライディングウィンドウ付きのTable Partitioningの設定は、おそらくボリュームを処理するためのより費用対効果の高い方法です。

  • 関連する問題