問題タブ [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 - マージ レプリケーションとコントローラー SQL サーバーのパフォーマンスへの影響
サード パーティ ベンダーは、メインの SQL サーバーでマージ レプリケーションを利用するソリューションを実装しました。このサーバーは、SAP B1 データベースもホストしています。ソリューションの実装以来、ユーザーは SAP B1 でパフォーマンスの問題を経験しています。マージ レプリケーションが SQL サーバーから使用している処理とメモリの量を確認する方法はありますか。
asp.net - 複数のサブスクリプションsqlcereplicationを作成する同期
私は現在、データベースとSQLサーバーデータベースandroid(sqlite)の間のブリッジを開発しています。
これを行うには、Webサービスを使用し、サーバーIIS 7に格納されているsqlceデータベースでレプリケーションをフィルター処理します。これを開発するために、PCでIISExpressを使用しました。私のPCではすべてが正常に機能しますが、デプロイされると、レプリケートされたデータベースは同期ごとに新しいサブスクリプションを作成します(IIS Expressの同期では、新しいサブスクリプションを作成せずに機能します)。例外はスローされません。
IIS7またはIISExpressがデータベースを同期するために異なる方法で機能する理由がわかりません。
問題の理由のアイデア?
私はSQLレプリケーションce3.5sp2、SQL Server 2008 R2をマザーデータベース、IIS7として使用しています。
私は次のことを試みました:-ウェブサーバー上の小さなソフトウェアでマザーデータベースを複製します、それは動作します。-「SqlCeReplication.loadproperties」を使用してsqlceデータベースパラメータを検索し、新しいサブスクリプションの作成を回避します。これは機能しません。
その他の詳細:-初めて同期しない場合、Webサービスは「repl.AddSubscription(AddOption.CreateDatabase)」を実行しません。すでに確認しています。
同期に使用されるコードは次のとおりです。
前もって感謝します
sql - レプリケートされたテーブルの非推奨のデータ型が原因でトリガーが機能しない
SQL Server 2005 データベースに、データ型が NTEXT のフィールドを持つテーブルがあります。このテーブルは、多数の SQLCE サブスクリプションを使用してマージ レプリケーションでレプリケートされます。
ON INSERT
NTEXT フィールドを処理するために、このテーブルにトリガーを追加しようとしました。しかし、私はこのエラーが発生しました:
私の調査では、NTEXT が非推奨であり、NVARCHAR(MAX) に変更する必要があるという投稿がいくつか見つかりました。しかし、スナップショットを再作成せずにこれを行うことはできません。これは、デバイスで作業している人々にとってはかなりの問題です (データ量と時間のため)。
挿入トリガーがデータ型を処理するための回避策はありますか?
これは、エラーがスローされる場所です。
sql - マージ レプリケーション データベースへの挿入が非常に遅い
SQL CE を実行している 800 台のモバイル クライアントへのマージ レプリケーションを使用してセットアップされた SQL サーバーがあります。
サーバーには十分なリソースがあり、会社の内外の回線は十分すぎるほどです。クライアントとサーバー間のレプリケーションは一般的に良好ですが、追跡できない断続的なエラーが発生しています。
昨日、メイン テーブルの 1 つに 550 のレコードを挿入する必要がありました。存在する唯一のトリガーは、標準のマージ レプリケーションのものです。
この挿入には、同期しようとしているモバイル デバイスで頻繁にデッドロックが発生したため、14 時間かかりました。
挿入時のロックを回避する方法とプロセス全体を高速化する方法について誰かアドバイスはありますか?
- - - アップデート - - -
いくつかのコメントに続いて、単一の挿入に対してプロファイラーを実行しましたが、この種のことがたくさん見られます
私が挿入することを意図していない多くのテーブルについて...これは手がかりになるでしょうか?
sql-server - マージプッシュサブスクリプションのステータスを取得するにはどうすればよいですか?
プッシュサブスクリプションを使用したマージレプリケーションのセットアップがあります。次の記事を読みました。レプリケーションエージェントのプログレスバーの実装 サブスクライバーからエージェントを開始すると正常に機能しますが、MergeSynchronizationAgentクラスのStatusイベントには、クライアントが開始したセッションのステータス更新のみが表示されます。つまり、デフォルトのレプリケーションウィンドウが表示するのと同じ動作を探しています。
sql-server - FTPを介したSQLCompact3.5へのSQLレプリケーション?
SQLServerデータベースをSQLCompact3.5がインストールされているデバイスに複製しようとしていますが、IISを介して複製を正常に機能させることができます。ただし、パブリケーションにはFTPを使用してレプリケーションデータをパブリッシングするオプションがありますが、FTPサイトに接続するようにSQLCompactを構成できないようです。それができないと言っているオンラインはありませんが、できることを示すウォークスルーも見つかりません。
IISWebではなくFTP経由でSQLCompactデータベースをパブリッシャーに接続できるかどうか誰かが知っていますか?
sql-server-2008-r2 - sp_MScheckIsPubOfSub ストアド プロシージャの問題
SQL Server 2008 R2 Merge レプリケーションをセットアップしました。
20 以上のプッシュ サブスクリプションがあります。
同期中に次のエラー メッセージが表示されることがあります。
エラー メッセージ: マージ プロセスは、サブスクリプションのステータスを正しく設定できませんでした。
(ソース: MSSQL_REPL、エラー番号: MSSQL_REPL-2147200963)
ストアド プロシージャ 'dbo.sp_MScheckIsPubOfSub' が見つかりませんでした。
(ソース: MSSQLServer、エラー番号: 2812)
上記の SP のコードを見つけて、それをサブスクライバー データベースに対して実行したところ、すべて正常に機能しました。
私の質問は、このストアド プロシージャが時々削除されるのはなぜですか? また、この問題をトラブルシューティングするにはどうすればよいですか?
sql-server - レプリケーションがどこでも継続的にクエリ可能かどうか。
SQL Serverデータベースサーバー上のデータベースdistribution
またはデータベースのどこかでレプリケーションが継続しているかどうかを確認できますか?msdb
(2005年と2008年の両方)
背景:レプリケーションがX時間以内に正常にマージされなかった場合に、(電子メールで)アラートを出すレプリケーションモニターシステムを作成しています。これを行うために、私は定期的にdistribution
データベースMSreplication_monitordata
とMSmerge_sessions
テーブルにクエリを実行しています。レプリケーションがアラート時間を超えたかどうかをテストするために、の各エントリに対して次の手順を実行MSreplication_monitordata
して、最後に成功したレプリケーションがいつであったかを確認します。
runstatus = 2は、「完了」ステータスのみをフィルタリングします(ドキュメントを参照) 。
MSmerge_sessions
問題は、継続的なレプリケーションには、end_timeが継続的に更新されているエントリが1つしかないことですが、状態は3であり、これは「進行中」を意味します。それだけをテストすることはできません。それは、完了する前に失敗する可能性のある非連続レプリケーションセッションを返すためです。
このコラムが役立つかどうかを確認してみましたMSmerge_sessions.current_phase_id
が、文書化されておらず、その意味を推測できません。データベースも試してみました。これはmsdb
、レプリケーションジョブレコードが(sysjobs
テーブルに)保持されている場所だからです。一部のフィールドとフィールドが0であるため、このsysjobschedules
テーブルは有望なようですが、それをにリンクする方法がわかりません。next_run_date
next_run_time
sysjobs
sql - 一意のインデックス 'uc1MSmerge_tombstone を持つオブジェクト dbo.msmerge_tombstone に重複するキー行を挿入できません
サーバーにマージ レプリケーションのセットアップがあります。サブスクライバー データベースのバックアップを取得し、レプリケーションを保持して別のサーバーに復元しました (レプリケーションがセットアップされていない別のサーバー全体に復元しました)。
この復元されたデータベースに一括データを挿入しようとすると、次のようなエラーが発生します
一意のインデックス 'uc1MSmerge_tombstone' を持つオブジェクト dbo.msmerge_tombstone に重複キー行を挿入できません。重複キー値は (3674005,67607BE2-A12C-E211-8F84-3860777B763D) です。ステートメントは終了しました。
なぜこのエラーが発生するのですか? どうすればこれを解決できますか?
sql-server - SQL Server でマージ レプリケーション用にシステム テーブルのスクリプトを作成できますか/すべきですか
システムの唯一の開発者として新しい仕事を始めたばかりです。まず、ライブ システムと同じであるがデータのない開発システムをセットアップしたいと考えました。次に、テストデータを入力します。そこで私が最初にしたことは、データベースのスクリプトを作成し、自分のマシンでデータベースを再作成することでした。ただし、ストアド プロシージャを呼び出すと問題が発生します。表示されるエラー メッセージは、「無効なオブジェクト名 'dbo.sysmergearticles」です。これはマージ レプリケーションと関係があると思いますが、それについてはまだ何も知りません。今のところ、テストシステムを稼働させたいだけです。稼働中のシステムのシステム テーブルを調べると、「dbo.sysmergearticles」があり、他のテーブルがすべてロードされています。スクリプトを使用してテスト システムを作成できるように、これらのオブジェクトをスクリプト化する方法はありますか?