多くの製品ラインのデータを含むデータベースを含むSQL Server 2012インスタンスがあります。
このデータのサブセットを同じインスタンスの別のデータベースに取り込む方法を探しています。
ベンダーに送信できるサブセットのバックアップを簡単にエクスポートできる方法を探しているため、これは継続的である必要はありません(このデータを独自のSQLサーバーにロードして製品を製造する会社があります)販売、当然のことながら巨大なため、定期的に十分に機能する製品ラインだけに縮小したり、オフラインアプリケーションで使用するSQLite DBをロードしたりできます。
ProductDB-すべての製品ラインデータのスーパーセット。
ProductLine1DB-ProductDBと構造が同じですが、データは製品ライン1にのみ関連しています。
ProductLine2DB-ProductDBと構造は同じですが、データは製品ライン2にのみ関連しています。
これは、必要に応じて毎晩、毎週行うことができますが、継続的なレプリケーションはできません。
ディストリビューターサーバーやサブスクライバーサーバーを追加したくありません。サブスクライバーデータベースが同じサーバー上にある同じサーバー上でレプリケーションを実行する必要があります。
これはトランザクションレプリケーションに適していますか?
なぜか、なぜそうでないのか?
明らかにこのデータをロードする他のオプションがありますが、これはトランザクションレプリケーションなどを使用する良いケースのようです。強力だと聞きましたが、最適にセットアップしないと問題が発生しやすくなります。
注:私はDBAではなく、単なる開発者ですが、現在新しいDBAを探しており、一部はこのような業務を一時的に引き継いでいます。
これはトランザクションレプリケーションに適していますか?
私は SSISでデータを段階的にロードする (データセットが大きすぎる場合)または毎晩(またはいつでも)データを新しくロードする(データが少ない場合)だけにします。
これにより、パブリケーション、ディストリビューションデータベース、サブスクリプションを作成する必要がなくなります。
メインデータベース(特にスキーマの変更)をアップグレードするときに、管理が簡単です。
別のオプションは BCP OUTとBULK INSERT INを使用することです。これを使用する場合は、私が支援するスクリプトがあります 。 where句を使用して必要なデータを除外するようにスクリプトを調整してください:-)
注:私が言っているわけではないので、誤解しないでください。T-Repを使用することはできませんが、あなたの状況に完全に適合します。シナリオに対応するために使用できる優れたツールがあります。