私はデータベースで動作し、毎月新しいデータベースを作成するC#アプリケーションを作成しています。データベースの接続/切断イベントを購読するには?
古いデータベースは、SQL Managementスタジオなどの方法でユーザーが切り離して添付することができます。
SQL Serverイベント(存在する場合)をリスンし、データベースがアタッチまたはデタッチされたときにどのようにキャッチするかを調べようとしています。
attach
操作が発生すると、アプリケーションがデータベースをチェックし、テーブルスキーマを最新バージョンに更新する必要があります。
また、SQL SMOを学習していて、このライブラリが私にイベントリスナーを提示すると思っていましたが、私はそれらを見つけることができません。
もちろん、数秒ごとに新しいデータベースをチェックするスレッドまたはタイマーを実行できます。私はこれを試して、SQLServer.Databases.Refresh()
を実行してデータベースリストを更新してから、それを反復して処理することができます。
これを実現する簡単な方法はありますか?おそらくどこかでOnDatabaseAttach
のようなイベントがありますか?
EDITは正しい方向に私を導くためにあなたelsausmcありがとうございます。 ServerEventSet
で少し検索して、this pageに出くわしました。
私は簡単なテストを行いましたが、データベースが作成または接続されたときにServerEvent.CreateDatabase
が起動しますが、ServerEvent.DropDatabase
は切断時に起動しません。多分他のイベントかもしれない。それは私が次に見つけることです。ありがとうございました:)
10以上の異なるフレーズでグーグルグーグルし、smo server events
という単純なものを思いついたことはありません。愚かな私。