SQL Server 2008 R2のテーブルでいくつかの変更を行うASP.NET Webアプリケーションがあります。 この表には、同じデータベース・サーバー上の別のデータベースの別の表で更新を行うトリガーがあります。エンティティフレームワークが他のデータベースへのトリガーをアクティブにします。エラー
変更を保存すると、次のエラーが発生します。 - エラーメッセージ:基になるプロバイダがコミットに失敗しました。 - InnerException:このSqlTransactionが完了しました。もはや使用できなくなります。
また、データベースユーザーが他のデータベースに接続することはできません。
誰かがこの仕事をどのようにすることができるかを知っていますか?
ステップ1 - このトリガーを実装して傷つける者を見つけます。トリガーは外部リソースにアクセスするべきではありません(この場合、別のデータベースは同じインスタンス上にあっても外部リソースです)。 –
ステップ1が完了しました。どのデータベースを同期させておくのが最良の方法ですか? MS Syncフレームワークまたはレプリケーションサービス? – JurgenStillaert
データベースを同期している場合は、ある種のレプリケーションが示される可能性があります。関連するデータを更新/監査する場合は、サービスブローカーのようなものを検討することができます。 –