問題タブ [merge-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.
sql-server-2008 - 手動同期SQLServerの謎
インターネット接続でリンクされた2つのサイトに2つのSQLServer2008をインストールし、それらの間にマージレプリケーションをインストールしましたが、サイトの1つで切断時間が長くなり、顧客から手動同期(ファイルベース)が要求されました。そのため、この状況でサーバーを同期させることができます。
私の簡単な質問は
、両方のデータベースから変更を生成し、その結果を両方のデータベースに適用するための最良のツールは何ですか?
visual-studio-2010 - レプリケートされたテーブルの VS 2010 データベースの配置
スキーマとストアド プロシージャの変更をより適切に追跡するために、Visual Studio にあるデータベース プロジェクトの使用を開始しました。私はそのアイデアが大好きですが、ちょっとした問題が発生しました。開発中、必要がないため、データベース内のテーブルは複製されません。ただし、テスト環境と運用環境では、マージ レプリケーションが必要です。もちろん、これにより、rowguid 列とすべてのジャズがすべてのテーブルに追加されます。
したがって、私の質問は次のように分類されると思います。
- データベース プロジェクト内の配置を使用して生成されたスキーマ変更スクリプトを利用する方法はありますか?
- このrowguid列を無視する方法はありますか?
- その場合、デプロイ時にレプリケーションが中断されることを心配する必要はありますか? (スキーマを変更するとレプリケーションが壊れる可能性があることは理解していますが、通常の状況ではそうです)
別の開発環境では、レプリケーションのセットアップなどを必要とせず (または、SQL Express のようなものを使用する場合はセットアップできない)、このようなシナリオに遭遇したことがある人もいると思いますが、それを利用したいと考えています。スキーマ比較やデータベース展開オプションなどのツールの。ご協力ありがとうございました。
sql-server - 個々の列がマージ レプリケーションで追跡されないようにする
マージ レプリケーションを使用すると、ほとんどの部分が正常に同期されるテーブルがあります。ただし、テーブルには 1 つの列が含まれており、一時的なクライアント側のデータを格納するために使用されます。このデータは、クライアントでのみ意味のある編集および使用が行われ、サーバーに複製する必要はありません。例えば:
この場合、サブスクライバーがテーブルの ClientCode 列を変更しても、それらの変更がサーバーに返されることは望ましくありません。マージ レプリケーションは、これを達成するための手段を提供していますか?
私がフォールバックする可能性のある別のアプローチは、追加のテーブルを公開し、それを「サブスクライバーにはダウンロードのみ、サブスクライバーの変更を許可する」ように構成し、そのテーブルで MyTable.ID を ClientCode と共に参照することです。 . ただし、絶対に必要でない場合は、追加のテーブルを公開する必要はありません。
ありがとう、
-ダン
sql-server - Web 同期、マージ レプリケーションに使用される IIS サーバーの要件
簡単な質問: マージ レプリケーションの Web 同期として使用される Web サーバーの要件 (特に SQL コンポーネントに関して) を教えてください。
バックグラウンド:
マージ レプリケーションを使用して、ソリューションのクライアント アプリケーションと一方向のデータ同期を行うソリューションがあります。
サーバーは SQL Server 2008、クライアント SQL Server 2008 Express を使用し、RMO を使用してプル サブスクリプションを開始します。リクエストは Web Sync を通過します。IIS と DB が同じサーバー上にある場合は問題ありません。IIS がスタンドアロンの Web サーバー上にある場合に問題が発生します。
エラー ログから、これを機能させるには Web サーバーで特定の SQL コンポーネントが必要なようですが、どのコンポーネントを見つけることができませんでした。このサーバーに SQL Server 2008 Express をインストールしようとしましたが、うまくいきませんでした。
では、マージ レプリケーションの Web 同期として使用される Web サーバーの要件 (特に SQL コンポーネントに関して) を教えてください。
編集:
ネイティブ クライアントをインストールしようとしましたが、うまくいきません。おそらく、ログを間違って解釈していますか?ここにあります:
CReplicationListenerWorker、2012/02/27 09:55:24.901、1060、174、S2、情報: =============== リクエストの処理を開始 ========== === CReplicationListenerWorker、2012/02/27 09:55:24.901、1060、212、S1、エラー: CLSID_SQLReplErrors で CoCreateInstance が失敗しました、hr = 0x00000000。CReplicationListenerWorker、2012/02/27 09:55:24.901、1060、298、S2、情報: 処理された要求の種類: MESSAGE_TYPE_UploadEmpty。CReplicationListenerWorker、2012/02/27 09:55:24.901、1060、396、S2、情報: =============== 完了処理要求 ========== ==== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、174、S2、情報: =============== リクエストの処理を開始 ======= ======= CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、212、S1、エラー: CLSID_SQLReplErrors で CoCreateInstance が失敗しました。時間 = 0x00000000。CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、298、S2、情報: 処理された要求の種類: MESSAGE_TYPE_UploadEmpty。CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、396、S2、情報: =============== 完了処理要求 ========== ==== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、174、S2、情報: =============== リクエストの処理を開始 ======= ======= CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、212、S1、エラー: CLSID_SQLReplErrors、hr = 0x00000000 で CoCreateInstance が失敗しました。CHttpListener =============== 完了処理要求 =============== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、174、 S2、情報: =============== リクエストの処理を開始 ============== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060 、212、S1、エラー: CLSID_SQLReplErrors、hr = 0x00000000 で CoCreateInstance が失敗しました。CHttpListener =============== 完了処理要求 =============== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、174、 S2、情報: =============== リクエストの処理を開始 ============== CReplicationListenerWorker、2012/02/27 09:55:24.964、1060 、212、S1、エラー: CLSID_SQLReplErrors、hr = 0x00000000 で CoCreateInstance が失敗しました。CHttpListener
、2012/02/27 09:55:24.964、1060、258、S2、情報: 交換 ID = EF7753FB-F315-4FE3-8E8D-E77CCD366825。CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、298、S2、情報: 処理された要求の種類: MESSAGE_TYPE_SyncContentsUpload。ReconcilerHost 、2012/02/27 09:55:24.964、1060、160、S1、エラー: CLSID_CDatabaseReconciler の CoCreateInstance が失敗しました、hr = 0x80040154。ReconcilerHost 、2012/02/27 09:55:24.964、1060、191、S1、エラー: ReconcilerHost:: 初期化に失敗しました、hr = 0x80040154。CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、315、S1、エラー: ReconcilerHost の初期化に失敗しました、hr = 0x80040154。CReplicationListenerWorker、2012/02/27 09:55:24.964、1060、396、S2、情報: =============== 完了処理要求 ========== ====
sql-server-2008 - 同期中にマージ レプリケーションが失敗しました。再実行後、エージェントは (Replication Agent FATAL ERROR およびシャットダウン) で失敗しました。
私たちの会社では、以下のようにマージ レプリケーション (PULL) を構成します。
記事の作成/変更にはスクリプトを使用します。これらのスクリプトをパブリッシャーで実行し、スナップショットを作成しました。
レプリケーション エージェントの開始後、同期中に接続速度が遅いために失敗しました。
失敗ログは次のとおりです。
2012-02-25 06:00:25.184 カテゴリ:SQLSERVER ソース: TMCTS 番号: 0
メッセージ: ログイン タイムアウト
の期限切れ 2012-02-25 06:00:25.200 カテゴリ:SQLSERVER ソース: TMCTS 番号: 0 メッセージ: マージ
プロセスがクエリがタイムアウトしたため、クエリを実行します。この失敗が続く場合は、プロセスのクエリ タイムアウトを増やします。トラブルシューティングを行うときは、詳細な履歴ログを使用して同期を再開し、書き込み先の出力ファイルを指定します。
ただし、いくつかのスクリプトをダウンロードして適用しました。後で実行しようとすると、失敗します。
2 番目のログは次のとおりです。
既に適用されているユーザー スクリプトをスキップして、同期を再開するにはどうすればよいでしょうか。(最後のスクリプトの後に同期を再開します。)
sql-server - サブスクライブされたデータベースをパブリッシャーサーバーにコピーする
私は2台のサーバーを持っています。
パブリッシャー(サーバーA)にマージレプリケーションをインストールし、同じデータベース名で2つのサブスクリプションを追加しました。
-1つはパブリッシャー自体に、もう1つはサブスクライバー(サーバーB)にあります。これまでのところ良好です。レプリケーションは正常に機能しています。パブリッシャー(サーバーA)のサブスクライブされたデータベースを削除し、サーバーBからサブスクライブされたデータベースのコピーに置き換え
たいと思いました。パブリッシャーは新しく接続されたデータベースで同期を継続すると思いましたが、残念ながら、期待どおりに機能しませんでした。 、代わりにスナップショットなどの適用を開始しました。
コピーされたデータベースを変更して、発行者がそれを削除されたデータベースとして再認識し、同期を続行できるようにするものはありますか?
c# - SQL Server CE のレプリケーション エラー: 内部エラー: HTTP ヘッダー情報が破損しているか、トランスポート メッセージにありません
マージ レプリケーションを使用するために、Windows Server 2008 マシンに SQL Server 2008 R2 をセットアップし、その上にテスト データベースと対応するパブリケーションを作成しました。SQL Server 2008 および SQL Server CE 3.1 のサブスクライバー向けに、上記の発行物を設定しました。また、このウォークスルーを使用して IIS 7 をインストールおよび構成しました。
SQl Server 2008 R2 データベースからデータをコピーし、マージ レプリケーションを介してローカルの SQL Server CE データベースに配置することになっている別の PC で C# アプリケーションを開発しています。ただし、次のエラーで惨めに失敗します。
ちなみに、HResult の値は 0x80072F76 です。
サーバー側では、IIS ログに次の情報が含まれています。
私のコードはこれです:
いくつかの調査を行ったところ、このエラーが発生する理由は 2 つしか見つかりませんでした。1 つは、特定の設定を有効にして Microsoft ISA サーバーを使用することですが、私はそうではありません。もう 1 つは、パブリッシャーとサブスクライバーが異なるバージョンの SQL Server CE ドライバーを使用している場合です。レジストリによると、両方のマシンのバージョンは 3.5.8080.0 (SQL Server CE 3.5 SP2) です。
どうすればこれを機能させることができますか?
sql-server-2008 - SQL Serverマージレプリケーションは、「SQLServerリコンシラーの初期化に失敗しました。再試行してください」で失敗します。
SQL Server2008R2データベースとSQLServerCE3.5の間でレプリケーションを設定しようとしています。それに応じてIIS7をセットアップし、パブリケーションURL( http://winserver2008/SQLReplication/sqlcesa35.dll )を確認すると、優れた「Microsoft SQL ServerCompactServerエージェント」を取得します。
ただし、http://winserver2008/SQLReplication/sqlcesa35.dll?diagを試してみると、次のようになります。
書いているC#アプリを介してパブリッシャーに接続しようとすると、「SQLServerリコンシラーの初期化に失敗しました。再試行してください」というメッセージが表示されます。9.0データベースリコンシラーが必要だと思いますか?もしそうなら、どうすればインストールできますか?
ちなみに、これは統合Windows認証を介して接続しようとした場合にのみ発生します。代わりにSQLServer認証を使用しようとすると、SQL Serverが見つからないか、ログイン/パスワードが正しくないというエラーが表示されます。
sql - フィルター処理されたマージ レプリケーション SQL Server 2008
SQL Server 2008 で特定の行のみをレプリケートする双方向レプリケーションを実現する方法についてのアドバイスを探しています。
たとえば、テーブル A を 2 つのデータベース (ヨーロッパとアジア) 間で複製したいと考えています。テーブルにローカル データと共有データの両方を含めたいと考えています。これは、次の値を持つフィールド「地域」を使用して示されます。
- グローバル
- ヨーロッパ
- アジア
ヨーロッパをパブリッシャー、アジアをサブスクライバーとしてマージ レプリケーションを設定し、次のフィルターを設定しました。
region = 1 の行のみを複製しようとしている
ヨーロッパまたはアジアの DB にグローバル行を追加すると、反対側のテーブルに表示される行でうまく機能します。
ヨーロッパの行をヨーロッパの DB に追加すると、(必要に応じて) アジアの DB にレプリケートしないことでうまく機能します。
ただし、アジアの行をアジアの DB に追加しても、行がヨーロッパの DB に複製され、アジアの DB から削除されるため、私が望むことはできません。
パブリッシャーとサブスクライバーの関係でこれが当てはまる理由は理解できますが、イライラします。
次に、ピアツーピアが解決策かもしれないと考えましたが、ピアツーピアをフィルタリングできません。
私が探しているものを達成する方法はありますか?
みんな、ありがとう
sql-server - SQL Server 2008 R2 でレプリケートされた列を変更します。マージ レプリケーション
StudentPerformance
テーブルの列を変更したい
変更する列は -
マージ レプリケーション用に構成されています。
- 現在のスナップショットは不要になりますか?
- すべてのサブスクリプションを再初期化する必要がありますか?
- テーブル内のすべてのレコードが更新され、alter ステートメントを実行するとレプリケーションのトラフィックが増加しますか?