問題タブ [transactional-replication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1053 参照

sql-server - サブスクライバへの適用を待機しているディストリビューション データベース内の多数のコマンド

更新可能なサブスクライバーの SQL レプリケーションで移行パブリケーションを使用しています。新しいテーブル、ビュー、およびインデックスでデータベース スキーマを更新しました。2 日前の更新以降、サブスクライバーに適用されるのを待っているコマンドがまだ多数あります。ddl コマンドと dml コマンドをテストしたところ、レプリケーション モニターがこのバックログ キューを示していても、両方とも問題なく即座にレプリケートされます。

レプリケートされるのを待っているこれらのコマンドを知っている人はいますか? そして、このバックログで、レプリケーションが現在機能しているのはなぜですか。レプリケーションは先入れ先出しという印象を受けました。

Microsoft SQL 2008 R2 を使用。

0 投票する
1 に答える
1428 参照

sql-server - SQL データベース レプリケーションのベスト プラクティス

次のものが必要なプロジェクトがあります。

メインの SQL サーバーとデータベースは本社にあり、頻繁にインターネットに障害が発生するため、リモートの 2 つの場所でシステムをオフラインにして作業する必要がありますが、データは企業の SQL データベースに複製する必要があります。

リモート ロケーションは同じデータを持つ必要がありますが、少数のテーブル (従業員やその他のカタログなど) にのみ必要であり、企業データベースにはすべてのリモート ロケーション データが必要です。

これにより、CEO が何かを確認したい場合に備えて、企業データベースに最新のリモート ロケーション データが含まれていることが保証されます。

したがって、リモート ロケーションと企業 DB の間のトランザクション レプリケーションを考えていましたが、アプローチが正しいかどうか、またテーブルを変更する必要があるかどうかもわかりません。これは、すべての主キーが INT 増分であり、企業 DB で問題が発生する可能性があるためです。リモート ロケーション A の同じキーとリモート ロケーション B の同じキーですが、従業員は異なります。

手がかりやアドバイスはありますか?どうもありがとう。

0 投票する
1 に答える
1015 参照

sql-server-2008 - トランザクションレプリケーションサブスクライバーリカバリモード

私は何年もデータベース作業を行ってきましたが、レプリケーションの経験は非常に限られています。

トランザクションレプリケーションを使用する場合、サブスクライバーを完全リカバリモードにする必要がある理由はありますか?複製されているいくつかのデータベースを継承しましたが、すべてのサブスクライバーがFullに設定されているため、非常に大きなtログが発生します。それらをシンプルに設定したいのですが、そうすることでレプリケーションで本番環境の問題が発生する可能性があるのではないかと心配しています。

ありがとう!

0 投票する
2 に答える
1642 参照

sql-server - インデックス付きビューの SQL Server トランザクション レプリケーション

インデックス付きビューのトランザクション レプリケーションを行っています。NOEXPAND ヒントを使用してインデックス付きビューを参照するスキーマ バインド ビューをレプリケートする他のビューがあります。インデックス付きビューに対して sp_addarticle を呼び出した後、NOEXPANDing ビューに対して sp_addarticle を呼び出しても、次のエラーが発生します。

SQL Server は、インデックス付きビューにインデックスを作成する前に、ターゲット サーバーで NOEXPANDing ビューを作成しようとするためです。

NOEXPANDing ビューを開始する前に、SQL Server にインデックス付きビュー インデックスのレプリケートを強制的に終了させる方法はありますか?

0 投票する
1 に答える
353 参照

sql-server-2005 - 一方向ゲートウェイを介した SQL Server レプリケーション

非常に安全なプロセス LAN とやや安全性の低いビジネス LAN の間の一方向ゲートウェイを介して SQL Server 2005 データベースを複製したいと考えています。誰か知っていますか:

  1. 業務LAN上のターゲットSQL Server/DBからハンドシェイクせずにSQL Serverにレプリケーションを実行させる方法はありますか?
  2. この目的の機能に役立つサードパーティ製品またはソフトウェア ライブラリが利用可能な場合は?

ソース データベースとターゲット データベースの両方が Windows Server 2003 または 2008 OS 上にある。

代替ソリューションまたはアドバイスをいただければ幸いです。

0 投票する
1 に答える
1566 参照

sql-server - ディストリビューターで停止するトランザクションレプリケーション

私のパブリッシャーは忠実にデータをディストリビューターに送り込んでいますが、それが止まっています。私はレプリケーションの領域に不慣れです。すべてを削除して再作成することでこれを簡単に解決できることは知っていますが、もっとエレガントな解決策があるはずです。

  • パブリッシャーからサブスクライバーの1つにトレーサートークンを介して送信しました。トークンは数ミリ秒でディストリビューターに到達しましたが、それを超えませんでした
  • サブスクライバーを見ると、これら2つのエラーが発生します
  • サーバー「blah」はディストリビューターとして構成されていません(sp_helpdistributorによると)
  • プロセスはディストリビューター「何とか」に接続できませんでした
  • パブリッシャーからディストリビューターへの履歴は良さそうで、「複製されたトランザクションは利用できません」と表示されます
0 投票する
1 に答える
368 参照

sql-server - トランザクション レプリケーションが成功したかどうかを確認する方法

トランザクション レプリケーションを使用して、あるソース データベースから受信側データベースにデータをレプリケートしたいと考えています。複製が成功した場合、ワークフロー内の他のシステムに通知する必要があります。レプリケーションが成功した場合、属性に基づいて確認する方法はありますか? 一部のデータが利用可能であることをキャッシュなどに通知するために、どのような戦略を選択しますか?

更新: 私は十分に明確ではなかったと思います。知りたいのは、エンティティが既にすべてのサブスクライバーであるかどうかです。例: 新しい といくつかのの詳細をマスター DB の 2 つのテーブルに挿入します。「車はオンラインです」と言うことができるように、新しいとその詳細がすべてのサブスクライバーに複製されているかどうかを知りたい

0 投票する
1 に答える
606 参照

jdbc - jdbc接続プロキシによるDBの高可用性?

高可用性データベース システムが必要ですが、データベース クラスターまたはマスター/スレーブを介してそれを行うことができません。単一の更新ステートメントで複数のデータ ソースを更新することを認識している jdbc プロキシが必要です。それを行うHA-JDBC プロジェクトhttp://ha-jdbc.github.com/を見つけましたが、HA-JDBCと同様またはより優れたライブラリがあるかどうか疑問に思っていました。

0 投票する
0 に答える
882 参照

sql-server-2008 - トランザクション レプリケーションのログ リーダー エージェントが、定期的なジョブ中に大きなトランザクション ログをスキャンすると、遅延が発生する

Excel スプレッドシートからの入力を処理し、ストアド プロシージャを呼び出してその DB のさまざまなテーブル内にレコードを作成する、トランザクション レプリケーションに関係する中規模のトラフィック データベースに新しいジョブを実装しました。

関連するフィールドの 1 つは、10k ~ 30k 文字のテキスト データ型です。ジョブ内では、カスタム SQL サーバー関数が大きな HTML 本文から URL を解析し、それをテーブルに書き込みます。

集中的な性質のため、またはプロセスのように思われるため、ジョブ実行ごとにスプレッドシートから 35 レコードまたは行のみを 30 分ごとに処理します。ログ リーダー エージェントがトランザクション ログ全体をスキャンし、レプリケーション用のレコードが 0 件しか見つからないため、トランザクション ログが驚くべき速さで増大し、パブリッシャーからサブスクライバーにかなりの遅延が生じていることがわかります。

概観すると、ログのサイズは約 30GB であり、ジョブを 5 ~ 6 回実行するとそのサイズを超えて大きくなるため、これ以上小さくすることはできません。ディストリビューション データベースのバックアップ (5 分ごと) とトランザクション ログのバックアップを 15 分ごとに頻繁に実行しています。

レイテンシを短縮するか、ログからの読み取り (I/O) の量を減らすことができるソリューションが切実に必要とされています。アプリ/ジョブ側で実行する必要がある作業がある可能性があることは認識していますが、この遅延とログからの無駄なスキャンを支援するために実行できるレプリケーション構成内に何かありますか?

どんな助けでも大歓迎です。ありがとうございました。

0 投票する
1 に答える
2060 参照

sql-server - TransactSQLを使用してトランザクションレプリケーションを監視することは可能ですか?

c#アプリケーションのtransactsqlを使用して継続的なレプリケーションステータスを監視しようとしています。私のc#アプリケーションから、これを使用してジョブを正常に開始します。

ここで、同期が完了したかどうか、またはエラーが発生したかどうかを知りたいです。プロセスが終了したら、ユーザーに成功したメッセージを送りたいと思います。

何か助けはありますか?