2016-11-09 2 views
0

C#.NET(4.5.2)アプリケーションは、ローカルSQL Server(13.0.1601)データベースにアクセスします。SQL ServerサービスなしのSQL Serverデータベースへのアクセス

私のクライアントは、データのアーカイブ目的で、プログラムとデータベースのスナップショットを、必要に応じて古い状態を実行するフォルダにパックしたいと考えています。

SQL Serverサービスが実行されていないのに、フォルダの内容とインストールされている.NETランタイムのみが実行される方法を教えてください。

これまで考えられていたオプションは、データベースを.bakまたは.csvにエクスポートしてフォルダに入れることですが、手作業が多いようです。

+0

テーブル/サイズに関してこのデータベースはどれくらいの大きさですか? –

+1

一言:*** ***できません*** - 期間。 SQL Serverデータベースをお持ちの場合は、そのデータを使用するために*** ***の形式のSQL Serverが稼働している必要があります。 (XMLや他の形式にすべてのデータをエクスポートすることを除いて)それを回避する方法はありません..... –

+0

@Thiago:非常に小さい。 〜20テーブルと〜25Mb。 – user2586856

答えて

0

SQL Serverの埋め込みバージョンはありません。最も近いのはLocalDB機能です(2012年版以降利用可能です)。SQL Serverの一部のコンポーネントのインストールが必要ですが、サービスの実行は必要ありません。インストールしたら、スナップショットのMDFファイルとLDFファイル(必要に応じて読み取り専用)を添付します。

2

marcのコメントで述べたように、バックアップファイルを使用するには、SQLインスタンスを実行する必要があります。

.bakファイルにエクスポートすることは、アプリケーションのSQL Serverにログインして適切なSQLコマンドを発行するだけです。

これを再度表示するには、SQLインスタンスに再度インポートする必要があります。これは上記の手順の逆です(元のデータベースがまだ常駐しているため、名前を変更する必要がありますSQLインスタンスで)。

SQLインスタンス(サービス)がインストールされないようにするには、おそらくSQL Server Express LocalDBがオプションです。これは完全にメモリ内で実行されます。

+0

@slugsterがこの記事を投稿している間、私は自分のソリューションを投稿しましたが、私はこれを気に入っています。適切なスクリプトを使って、以前のスナップショットを表示するには、数回クリックするだけで済むはずです。 – AgapwIesu

+0

「多くの仕事」は、これらのフォーマットのうちの1つを使用できるようにするために必要な手動コード適合のためのものでした。 LocalDBの提案に感謝します。それは1つのフォルダにすべてではありませんが、それはスタートです。 – user2586856

0

テーブルをCSV形式でエクスポートし、qを使用してそれらのCSVファイルに直接SQLクエリを実行するようにプログラムを変更するスクリプトを作成できます。

関連する問題