kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

データベースミラーリング使用時の注意事項

SQL Server 2005 SP1で正式サポートされたデータベースミラーリング。バラ色の機能に見えますが、複数データベースに対するフェイルオーバが発生すると、トランザクション処理で原子性(atomic)が崩れる場合があるそうです。
データベースミラーリングを使用する際は「シングルデータベース」「マニュアルトランザクション」を使いましょうという事をまとめた資料が公開されています。77ページもある大作ですが、使う人は必読ですね。
データベースミラーリングは宣伝しやすい機能なので、はまる人は意外といるかもしれません。しかもこれではまるのは本番稼働後…ってパターンだったり。
PDF:http://download.microsoft.com/download/6/a/2/6a22faae-c840-4098-a917-e2a5a0049e15/dbm.pdf
参考:データベースミラーリングをクロスデータベース トランザクション または分散トランザクションと併用する場合の問題
りばてぃさんやおぎわらさんのエントリもあわせてどうぞ。
寝ても覚めても.NET(?) : データベースミラーリング (DBM) 利用時のアプリケーション設計・実装の注意点
[記事リンク]【超重要】データベースミラーリング (DBM) 利用時のアプリケーション設計・実装の注意点(PDF)
ちょっと意外だったのはMS-DTSの実装が各OSで少しずつ違うので、プラットフォーム毎に確認しましょうと言うこと(PDFの76ページ)。COM+のセキュリティが少しずつ変わっているためなんでしょうかね。