0

外部 hd に格納される予定の SQL Server Express データベースを構築しました。自分のシステムや他のシステムにあるデータベースのデータを追加/更新し、追加または編集したデータのみを外付けハード ドライブにバックアップまたは転送できるようにする必要があります。これを達成するための最良の方法は何ですか?

4

3 に答える 3

0

これにはおそらくレプリケーションを使用しますが、SQL Server Express を使用しているため、これはオプションではありません。

バックアップ間で何が変更されたかを判断するには、何らかのメカニズムが必要です。したがって、各テーブルには、レコードが挿入または更新されるたびに更新されるタイムスタンプまたは最終更新日時列が必要になります。アプリケーションからではなく、トリガーからこの列を更新する方がおそらく簡単です。

どのレコードが挿入または更新されたかがわかれば、最後にアクションが実行されたときからこれらを検索するだけです。

別の方法は、更新されるビット列を追加することですが、これは柔軟性が低いようです。

于 2009-12-02T03:08:03.120 に答える
0

シェリー、アプリケーションと、あなたのデザインの根拠を説明してください. データベースには、これを行うメカニズムがありません。自分で変更を追跡し、必要なことは何でも行う必要があります。SQL Server 2008 には変更追跡機能が組み込まれていますが、それが Express で役立つとは思いません。

また、Sync Frameworkもご覧ください。これをプラットフォームに追加することは主要なペイロードですが、データの同期を維持することがアプリの主な目的の 1 つである場合は、成果が得られる可能性があります。

于 2009-12-02T03:12:57.103 に答える
0

アプリケーションで

アプリケーションからこれを行う場合は、行が更新または挿入されるたびに、ダーティと呼ばれるビット/ブール列を変更し、true に設定します。エクスポートする行を選択するときは、ダーティ セットが true に設定されている列のみを選択します。エクスポート後、すべてのダーティ カラムを false に設定します。

アプリケーション外

DTS ウィザード

アプリケーションの外部でこれを行う場合は、コマンドラインでこれを実行します。

Run  "C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe" 

この記事では、DTS ウィザードを入手する方法について説明します (既定では含まれていません)。

これは SQL Server Express Edition Toolkit に含まれており、それだけです。別のバージョンの SSE をインストールした場合は、他のパッケージをアンインストールせずに、このパッケージを後でインストールしても問題なく動作します。ここから入手してください: http://go.microsoft.com/fwlink/?LinkId=65111

DTS ウィザードはオプション「Business Intelligence Development Studio」に含まれているため、必ずそれを選択してインストールしてください。

別のバージョンの SSE をインストールした場合、インストーラーはインストールするものがないと報告することがあります。(インストーラー ウィザードで) バージョン番号を表示するチェックボックスをオンにして、これをオーバーライドします。

インストールが完了すると、DTS ウィザードが c:\\Microsoft SQL Server\90\DTS\Binn\dtswizard.exe で利用できるようになります。ショートカットを作成したり、SQL Studio のツール メニューに含めることもできます。

bcp ユーティリティ

bcp ユーティリティは、Microsoft SQL Server のインスタンスとデータ > ファイルの間でユーザー指定の形式でデータを一括コピーします。bcp ユーティリティを使用して、多数の新しい行を SQL Server テーブルにインポートしたり、テーブルからデータ ファイルにデータをエクスポートしたりできます。> を除き、queryout オプションと共に使用する場合、このユーティリティは Transact-SQL の知識を必要としません。データをテーブルにインポートするには、そのテーブル用に作成されたフォーマット ファイルを使用するか、 > テーブルの構造とその列に有効なデータの種類を理解する必要があります。

于 2009-12-02T03:13:05.577 に答える