winform
C#でベースのデスクトップアプリケーションを構築しています。アプリケーションでSQLServerデータベースを使用しています。
アプリケーションにはアーカイブを取得するオプションがあり、基本的にすべての構成ファイルとデータファイル(* .mdf)をWinzipアーカイブにコピーします。
ただし、データベースファイル*.mdfをコピーできません。例外をスローします:
「別のプロセスによって使用されているため、プロセスはファイルUserData.mdfにアクセスできません。」
すべてのSQL接続を閉じて、を介して手動でガベージコレクションを実行していると思います
GC.Collect()
。
しかし、これはうまくいかないようです。
回避策として、タスクマネージャーからプロセスsqlservr.exeを強制終了できれば、ファイルコピーは正常に機能します。
私は、それを行うためのより良い、よりエレガントな方法があるはずだと思います。どのように進めるかについてのアイデアはありますか?
ありがとうキラン