問題タブ [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 投票する
1 に答える
17456 参照

sql-server - 主キーのないトランザクションレプリケーション(一意のインデックス)

何か気になることがありました。設計が制御されていないデータベースからトランザクションレプリケーションを実装しようとしていました。この複製は、システムに過度の負担をかけずにレポートを実行するためのものでした。レプリケーションを試行すると、一部のテーブルのみが通過しました。

調査テーブルでは主キーがないため、複製するように選択されていませんでした。ODBCとms accessを使用しているが、Management Studioでは使用していない場合、主キーとして表示されることすらできないと思いました。また、クエリは途方もなく遅くはありません。

重複するレコードを挿入しようとしましたが、(主キーではなく)一意のインデックスについて表示できませんでした。テーブルは、主キーとは対照的に、一意のインデックスを使用して実装されているようです。なぜ私は悲鳴を上げることができるかわからない。

トランザクションレプリケーションまたは代替を実行する方法はありますか、それはライブである必要があります(最後の1〜2分)。メインのデータベースサーバーは現在、SQL2000sp3aとレポートサーバー2005です。

私が現在試していると思っているのは、別の種類のデータベースであるかのようにレプリケーションを設定することだけです。オラクルが可能であると言う複製は、アクセスが使用していると想定しているようなODBCドライバーの使用を強制するため、主キーが表示されると思います。これについての私の深さから、それが正確であるかどうかはわかりません。

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

sql-server-2000 - トランザクション レプリケーションを使用して新しい記事を追加するにはどうすればよいですか?

あるサーバーから別のサーバーに記事をレプリケートするためにトランザクション レプリケーションを使用しているとします (両方とも SQL Server 2000 を実行しています)。これはセットアップされ、うまく機能しています。

次に、新しい記事を追加することにしました。まず、 経由でパブリケーションに追加しPublication Properties > Articles > Objects to Publishます。

では、どうすればよいでしょうか。

新しいスナップショットを最初から作成しなくても、新しい記事を複製できたらいいのにと思います...そして、サブスクライバーを消去して、最初から再構築します。テーブルを1つ追加するだけでも大変な作業です。

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

tsql - ADO.NETまたはTSQLでトランザクションレプリケーションを待つ

私のWebアプリはSQLServer2008に対してADO.NETを使用しています。データベースの書き込みはプライマリ(パブリッシャー)データベースに対して行われますが、読み取りはプライマリ(サブスクライバー)データベース間で負荷分散されます。SQL Serverの組み込みのトランザクションレプリケーションを使用して、セカンダリを最新の状態に保ちます。ほとんどの場合、数秒の遅延は問題になりません。

ただし、セカンダリサイトでトランザクションがコミットされるまでブロックしたい場合があります。数秒間ブロックしても問題ありませんが、古いページをユーザーに返すことはできません。ADO.NETまたはTSQLで、レプリケーションが完了するのを待つように指定する方法はありますか?または、発行元から、セカンダリサーバーに手動で接続せずに、トランザクションのレプリケーションステータスを確認できますか。

[編集]99.9%の確率で、サブスクライバーのデータは「十分に新鮮」です。しかし、それを無効にする操作が1つあります。それが無効になるという偶然の機会に、私は毎回出版社から読むことができません。トランザクションレプリケーションでこの問題を解決できない場合は、別のアーキテクチャを提案できますか?

0 投票する
3 に答える
2608 参照

sql-server - 多くの異なるデータベースのデータを最小限の待ち時間で 1 つに統合

合計で約 1.0 TB の 12 のデータベースがあり、それぞれが SQL 2005 Enterprise を実行している異なる物理サーバー上にあり、すべてまったく同じスキーマを使用しています。このデータを別の単一データベースにオフロードして、最大 1 時間の待ち時間で他の目的 (レポート、Web サービスなど) に使用できるようにする必要があります。

また、これらのサーバーはすべて同じラック内にあり、ギガビット接続で接続されており、データベースへの挿入が最小限 (平均 2500 レコード/時間) であることにも注意してください。現在の方法は非常に不安定です。データは現在、12 台のサーバーのそれぞれから別のサーバー上のデータベースに複製 (SQL Server トランザクション レプリケーション) されています (そうです、12 台の異なるサーバーからの 12 個の異なる従業員テーブルが別のサーバー上の単一の従業員テーブルに作成されています)。サーバ)。

すべてのテーブルには主キーがあり、行はすべてのテーブルで一意です (各テーブルには施設 ID があります)。

私のオプションは何ですか?これを行う簡単な方法が必要です。

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

sql - SQL Server トランザクション レプリケーションに遅延を追加できますか?

DBProd というデータベースから DBWarehouse という別のデータベースへのトランザクション レプリケーションを構成しました。すべてが正常に機能し、トランザクションは通常、倉庫に即座に複製されます....これが私の問題です。

レプリケーションにわずかな遅延 (10 分程度) を追加して、レプリケートされたデータベースを使用して以前のバージョンのデータベースにアクセスできるようにしたいと考えています (たとえば、バグが発生した場合)。

これを達成する簡単な方法はありますか?

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

sql-server - サブスクライブしているデータベースのスキーマに追加する

SQL Server 2005 Enterprise x64(SP3)でのトランザクションレプリケーション。

レプリケーションのターゲットであるデータベースにチェック制約を追加する必要がありますが、公開データベースにチェック制約を追加できません。問題は、レプリケーションプロセスが私の制約を取り除き続けることです。これを防ぐにはどうすればよいですか?

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

sql-server-2005 - SQLレプリケーションでの同期は、手動で同期する場合は機能しますが、自動的には機能しません

SQL Server 2005を使用してメインデータベースのレプリケーションコピーを作成しているので、レポートはメインデータベースをロックアウトする代わりにレプリケーションコピーを指すことができます。

私は3つのデータベースをパブリケーションとして設定し、次に3つのサブスクライバーがトランザクションをサブスクライバーに移動しました。

「トレーサーの挿入」機能を使用する場合、レプリケーションはパブリッシャーからディストリビューターまで2秒未満かかりますが、サブスクライバーへのレプリケーションには7分以上かかる場合があります(これらはSAN上のローカルデータベースです)。これには2つの理由が考えられます。

  1. データベースのクエリに使用されるSQLステートメントは、サブスクライバーを更新するトランザクションを停止するロックを取得しています。
  2. サブスクライバーは、レプリケーションが変更を適用するには忙しすぎます。

さらに厄介なのは、Replication Monitor / Insert Tracerにこれらの統計が表示されているにもかかわらず、[View Subscription Details]を使用して[Start]をクリックすると、数秒以内に同期されることです。

私の目標は、データを(理想的には)継続的に、または毎分同期させることです。おそらく、トランザクションのバッチサイズを減らす必要がありますか?

私は何が間違っているのですか?

[-Continuousフラグが設定されていることに注意してください!]

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

sql - レプリケーション関連の問題、

レプリケーション関連の問題、

私は自分のアーキテクチャを説明しています。

私は、そのtransactinal複製プロセスを作成しました

  1. 2以下に示すテーブルベンダースクリプトのパブリッシャー、
  2. ディストリビューター
  3. 2人の加入者

データレプリケーションの設定は次のようになります。

テーブルベンダーは、ディストリビューターを介して2つのパブリッシャーから2つのサブスクライバーに複製されます。

レプリケーション中に、ディストリビューターデータベースで次のようにエラーが発行されました:

ここで、何が起こらなければならないか

Pub1(pubsテーブルベンダーを作成します)–>ディストリビューターに(ベンダー)データを挿入します。->サブスクライバーによるプル

私のために今起こっていることは、

Pub1(pubsテーブルベンダーを作成します-完了)->ディストリビューターデータベースでエラーをスローします

レプリケーション-レプリケーション配布サブシステム:エージェントabc-serv1 \ PRD01-star-star Billing-PROD-VREPL1\REPL01-25が失敗しました。PRIMARYKEY制約「PK_vendors」の違反。オブジェクト'dbo.vendors'に重複するキーを挿入できません。

パブリッシャーからディストリビューターへの操作中にエラーが発生します。

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

sql-server - SQL Server 2008 のパブリケーションの記事一覧に新しいテーブルが表示されない

私はSQL Serverを初めて使用します。データベース全体を Access から SQL Server に転送してもらったばかりで、速度を上げようとしています。

これは、マージ レプリケートされたデータベースです。

データベース「CRM」に新しいテーブル「EmailList」を追加し、SMSS の「CRM」パブリッシャー プロパティに移動しましたが、記事リストを展開すると、オブジェクトとして指定する新しいテーブルがそこにないことに気付きました。公開。

この新しいテーブルをすべてのサブスクライバーに複製する必要があります。記事リストに表示して、確認して複製できるようにするにはどうすればよいですか? 新しいスナップショットを作成しようとしましたが、うまくいきませんでした。

また、私はこれを行う方法について (うまくいかず) 読んでいましたが、これを行うには、発行者がすべての購読者のシステムに新しいスナップショットを配置する必要があるかもしれないという印象を受けました。しばしば同期が取れていないサブスクライバーが何人かいて、最終的に同期したときにデータを消去したくないので、それはひどいことです。全員が同期するまで待ってから、全員が変更を停止し、スキーマを変更してから、再度レプリケートする必要がありますか? これは恐ろしいことです。私が間違っていると言ってください。

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

sql - MS SQL Server 2005 から MySQL 5.1 に一方向でデータをレプリケートできますか?

SQL Server 2005 データベースから MySQL 5.1 データベースへの一方向のトランザクション レプリケーションを設定する必要があります。

ODBC ドライバーをインストールし、パブリケーションの作成作業を開始しましたが、解決策が見つからないというエラーが表示されます。

エラーは

Workgroup sku でサポートされていないため、パブリケーション パラメーター @enabled_for_het_sub を設定できませんでした。

パブリケーションの作成に使用している SQL ステートメントを次に示します。

@enabled_for_het_subを確認し、すべてのパラメーターが正しいことを確認しました。

何か案は?