0

スキーマタイプの変更をデータベースに適用する、長時間実行されるredgateスクリプトがあります。実行には3時間かかります。このスクリプトは、ミラーリングとトランザクションログの配布が行われている本番データベースで実行されます。

私の具体的な質問は、トランザクションログの配布がレッドゲートで生成された巨大なスクリプトによってどのように影響を受けるかということです。その構成:15分ごとにバックアップされ、drサーバードライブに出荷されたローカルドライブにバックアップされ、30分ごとに適用されて60分間保持されます

それでも変更を段階的に出荷しますか、それとも1つのレッドゲートトランザクションがある場合、完了するまで出荷されませんか?

懸念されるのは、1。長時間実行されるスクリプトは、このトランザクションログの出荷の影響を受けないことです(複数のバックアップにまたがる場合)2。変更が段階的に出荷されるのか、1つの大きなダンプとして出荷されるのか-redgateは通常1つを使用すると思いましたトランザクションなので、失敗した場合はすべてをロールバックしますか?ログファイルが合計で約80ギガ増加することを知っているので、トランザクションログの出荷に必要なものを保存するのに十分なスペースがあることを確認しようとしています。

ありがとう!

4

2 に答える 2

0

RedGateスクリプトを調べることで、それがすべて1つの大きなトランザクションであるかどうかを判断できるはずです。「トランザクションの開始」のSQLファイルをgrepするだけで、アイデアを得ることができます。

そうである場合、トランザクションログの出荷は、トランザクションが完了してコミットされるまで出荷されないため、同期にまたがることは問題ではありません。私はこれが事実であるとかなり確信しています-私はこれをこの記事http://msdn.microsoft.com/en-us/library/ms151706.aspxに基づいています:

ディストリビューションデータベースは、変更がサブスクライバーに送信されるストアアンドフォワードキューです。

「コミットされたトランザクションのみがディストリビューションデータベースに送信されます。」

于 2010-09-08T06:17:25.777 に答える
0

さて、アップグレードを完了しましたが(イェーイ!)、すべてが1つの大きなチャンクとして出荷されていないことがわかりました。彼らのdbaから私はこの情報を得ました:

それは1つの大きなチャンクとしては実行されません...進むにつれて、より大きなTRNファイルが作成されます。TRNバックアップを作成して出荷し、適用する頻度が高いほど、保持できる容量は小さくなります。ただし、バックアップを取るには明らかにcpu + i / o ...が必要なので、継続的に実行する必要はありません。

だから私はログファイルが90gに成長すると思っていたが、それからある種の90gファイルをそれを越えて出荷しようとしたがそうではなかった。トランザクションログ配布フォルダが少しずついっぱいになり、アップグレードには60gで十分でした:)

于 2010-09-16T07:03:55.333 に答える