問題タブ [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 - 適切な ID 範囲のサイズを決定するのに役立ちます
~200 のサブスクライバーを持つマージ レプリケーションがあります。一部のテーブルで適切な ID 範囲サイズを決定しようとしています。レプリケーション用に設計されていない DB 構造を継承したことがわかります。したがって、すべてのテーブル PK は int IDENTITY です。残念ながら、これらのテーブルの一部は追跡フィールドなしで構築されたため、いつ挿入されたのかわかりません。そのため、必要な購読者範囲のサイズを見積もるのに苦労しています。
誰かアドバイスはありますか?
sql-server - 方法:Web同期用にIIS7を構成する
私はここの指示に従いました。
長い話を短くするために、私は接続することができません:
私は得る:
DLLを参照すると、ユーザー名とパスワードの入力を求められ、このエラーが表示されます。これはテスト用であるため、自己署名証明書を使用しています。
私は実際にはサーバー担当者ではないので、何が起こっているのかわかりませんか?イベントログには何もありません。
誰かが私が試すことができることについて何か明るい考えを持っていますか?
PSまた、SQL 2008 R2でウィザードを実行したところ、成功したとのことでした(ウィザードはIIS6でのみ機能します)。IIS6と7の間に競合が発生する可能性がありますが、両方でセットアップしようとしましたか?
sql-server - Web同期を介したSQLServer2008のSQLExpress2005へのレプリケーション
SQL2008R2サーバーがあります。うまくいったように見えるウィザードを使用してパブリケーションを作成しました。「システムデータベース」セクションに「ディストリビューション」データベースがありますが、多くはありません。(これがすでに存在するかどうか、または「パブリケーションウィザード」によって作成されたかどうかはわかりません。)Web同期をセットアップし、IIS7および自己署名証明書を介してrelisapi.dllにアクセスできます。
ASP.NET Webサイトのセットアッププログラムは、SQL Express2005をインストールします。サブスクリプションの作成と初期同期をテストするための小さなサイトを作成しました。最初の同期でサーバーからすべてがプルダウンされると想定しているため、「初期」データベースを作成しません。
サブスクリプションはSQLExpressとSQL2008サーバーで作成されるため、次のコードは機能しているようです。
次に、次のコードを実行します。
しかし、syncronizeはエラーをスローします:
パブリケーション「マイパブリケーション」のサブスクリプションを確認できませんでした。すべてのMergeAgentコマンドラインパラメーターが正しく指定されていること、およびサブスクリプションが正しく構成されていることを確認してください。パブリッシャーがこのサブスクリプションに関する情報を持っていない場合は、サブスクリプションを削除して再作成します。
サーバー上で、「Replication Monitor」を使用すると、サブスクリプションが「Unitialized」として表示されます。
1つの問題は、subscription.HostNameが間違っていることだと思います。MSDNのMicrosoftの例によると
しかし、adventure-worksがサーバー、インスタンス、データベースのいずれであり、garrett1(ログインなど)が誰であるかは明確ではありません。では、これは実際にはどうあるべきでしょうか?
私はレプリケーションについて何も知らず、MSDNといくつかの本をフォローしているだけなので、次に進むべき場所についていくつかの指針を高く評価したいと思います。
すみません、これはとても長いです!
sql-server - Web Sync レプリケーション: (0x80004005): スキーマ スクリプト 'xxx' をサブスクライバーに伝達できませんでした
レプリケーション (HTTPS 経由の Web 同期) の設定に大きな問題がありました。
テーブルのみを公開すると、テーブルはデータで正常に複製されます。
ビューと sprocs を追加すると、次のメッセージで失敗します。
パブリケーションは SQL 2008 で、サブスクライバーは SQL Express 2005 です。
ビューはすべて、次のように比較的単純です (SQL は上部に DROP を追加しました)。
ビュー [dbo].[vAllUsers] をドロップします。
SET QUOTED_IDENTIFIER ON go SET ANSI_NULLS ON go
CREATE VIEW [dbo].[vAllUsers] AS SELECT ユーザー ID FROM スタッフ WHERE ユーザー ID が NULL UNION すべて SELECT ユーザー ID FROM ベッセルスタッフ WHERE ユーザー ID が NULL UNION すべて フリートマネージャーからユーザー ID を選択 WHERE ユーザー ID が NULL ではない go
私は混乱していて、基本的に私が何をしているのかわかりません。誰にもアイデアはありますか????
2010年12月3日更新
わかりました、私はこれをもう少しいじっています。テーブル、データ、およびユーザー定義関数は複製されますが、ストアド プロシージャやビューは複製されません。これは何を示していますか?
sql - レプリケーション - ユーザー定義のテーブル タイプがサブスクライバに伝播されない
2 つの列 (id と name) を持つ tvp_Shipment という名前のユーザー定義テーブル タイプを作成しました。スナップショットが生成され、ユーザー定義のテーブル タイプがすべてのサブスクライバーに適切に伝達されました。
私はこの tvp をストアド プロシージャで使用していましたが、すべて正常に動作しました。
次に、このテーブル値パラメーターにもう 1 つの列 created_date を追加したいと思いました。ストアド プロシージャを (レプリケーションからも) 削除し、3 つの列を持つユーザー定義テーブル タイプを削除して再作成し、ストアド プロシージャを再作成して公開できるようにしました。
新しいスナップショットを生成すると、ユーザー定義テーブル タイプの変更がサブスクライバーに反映されません。新しく追加された列はサブスクリプションに追加されませんでした。
エラーメッセージ:
sql-server - レプリケートされたテーブルの外部キー制約を削除する
マージ レプリケーションに参加しているテーブルから外部キー制約を削除できますか? もしそうなら、私はそれを公開から削除することができますか?この変更はすべてのサブスクライブに複製されますか?
sql-server - SQL Server 2005 レプリケーションの整合性違反 SQL Server、エラー番号: 28549
誰かが本当に奇妙な問題で私を助けてくれることを願っています。
ユーザーがデバイスを同期すると、次のエラーが発生します。
整合性違反のため、行操作を再適用できません。パブリケーション フィルタを確認します。[テーブル = ASSET_DETAIL、操作 = 挿入/更新、RowGuid = {C92038E4-18EA-EE11-4C9F-2952CDECFCC7}] HRESULT 0x80040E2F (28549)
サーバーに移動してこの行とその親行 (テーブルは資産と呼ばれます) を照会すると、有効で正しいように見えます。完全なフィルター ツリーを調査すると (より適切な説明が必要なため)、すべてのデータが正しいように見えます。
DB で確認できることから、サブスクライバーに送られるべきデータは、DB に設定されている参照整合性制約に従います。また、パブリケーション フィルターにも従います。
サブスクライバーでこの問題が発生する理由はありますか? そして、どうすればこれを解決できますか?
また、デバイスに送信されているデータを正確にログに記録することは可能ですか?
よろしくお願いいたします。
モリスリン
sql-server-2008-r2 - 新しく作成されたテーブルのマージ レプリケーション
2 台の SQL Server 2008 R2 Standard サーバーがあり、マージ レプリケーションを使用しています。サブスクライバーで新しいテーブルが作成される場合があり、それをパブリッシャーにレプリケートしたいと考えています。
SQL Server には、新しく作成されたテーブルをパブリッシャーにレプリケートできるオプションがありますか、またはこれを行うにはカスタム プロシージャを作成する必要があります。
他の提案があれば (他のマージ レプリケーションを使用するなど)、大歓迎です
注: 一部のクライアントはサブスクライバーに接続され、他のクライアントはパブリッシャーに接続されています。すべてのクライアントをパブリッシャーに移行することはできません。
sql-server - SqlCeReplication:各同期の前にReinitializeSubscriptionを使用しますか?
SQLCEレプリケーションを使用してSQLCEデータベースをSQLServer2005または2008データベースと同期する(マージレプリケーションを使用)レガシーWindowsMobile5アプリのバグに取り組んでいます。
アプリケーションにはバグに関連しているとは思わない動作がいくつかありますが、その副作用がどのようなものか興味がありました。コードは、Synchronizeを呼び出す前に、SqlCeReplicationオブジェクトで「ReinitializeSubscription(true)」を呼び出すことになります。「true」フラグは、再初期化する前に変更をアップロードするようにreinitに指示するだけです。これは問題ありません。毎回潜水艦を再開する具体的な理由があるとは思いませんが、それはそれが行うことです...
Synchronizeを呼び出すたびに、SqlCeReplicationオブジェクトでReinitializeSubscriptionを呼び出すとどのような影響がありますか?単にパフォーマンスが低下するのでしょうか、それとも、同期の前にReinitializeSubscriptionを呼び出さないのと比較して、データの同期で実際に何か違うことをしているのでしょうか。
sql-server - マージレプリケーション:複数のパブリケーションは1つの大きなパブリケーションよりも優れていますか?
SQLServer2000でマージレプリケーションを設定しました。出版物の1つに65の記事があります。sp_repladdcolumn
これは正常に機能しますが、スナップショットの再生成に非常に長い時間がかかるため、(を介して列を追加する以外に)何かを変更するのは面倒です。複製について議論しているフォーラムでこの引用に出くわすまで、私はこれを必要悪として常に受け入れていました。
1つの出版物ですべてのテーブルを公開していますか?その場合は、レプリケーションの設計を再検討する必要があります。
では、レプリケーションの設計 を再検討する必要がありますか?単一の出版物をより少ない記事で複数の出版物に分割することの長所と短所は何ですか?