1回のバッチで約2500行の大規模なT-SQLコードを実行する最良の方法は何でしょうか。このコードでは、約20種類の異なる表を使用し、さまざまなデータ・ソースからデータを集約し、ビジネス・ルールを適用し、最後に変換データを表に挿入します。私が持っている問題は、コードが大きすぎて、すべてのセクションが前の結果に頼っているということです。私は1つの大きなトランザクションwロールバックを作成する必要がありますか? 私は複数の小さなストアドプロシージャのコードを壊す必要があります。大きなSQLコードからSQLバッチを作成する
どのような考えですか?単一の巨大なSQL文がピースmealingロジックよりも良い作品どこ
おかげで、 ボブ
私はそれを壊すだろう。 –
"ベスト"アプローチはおそらくエージェントジョブを作成することです。バッチを複数のジョブステップに分割するかどうかは、完全にあなた次第です。別の方法として、ファイルに格納し、 'sqlcmd'をサーバから実行することもできます。そうしないと、クライアントマシンとサーバ間の接続が脆弱になり、そのバッチが中断されます。 – ajeh
これを巨大なトランザクションで実行するかどうかは、ログの容量とすべての変更がそこに収まるかどうかによって決まります。スクリプトを実行する前にバックアップをとり、他の変更が並行して行われないようにするには、トランザクションをまったく使用しないで済むかもしれません。それはすべて依存している。 – ajeh