問題タブ [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 - ときどき接続されるアプリケーション (SQL Server データ同期)
SQL Server 2008 R2 を実行している中央サーバーと、SQL Server CE を使用してデータをキャッシュする WinForms クライアントがあります。サーバー側とクライアント側の両方でデータを変更できます。各ユーザーは、自分のデータのみを編集し、他のユーザーのデータの一部を表示できます。たとえば、ユーザーは「契約書」を作成し、同期を介してサーバーにアップロードできます。他のユーザーは、顧客の連絡先情報などを除いて、この「契約書」を見る必要があります。
このタスクに最も適したデータ同期方法はどれですか?
前もって感謝します。
sql-server-2008 - レプリケートされたテーブルでの一意の制約の追加/変更
レプリケートされた環境に既存のテーブルがあり、このテーブルで実行できるスキーマの変更には制限があることを知っています。次のことはできますか。
- パブリッシャーに一意の制約を追加すると、サブスクライバーに複製されますか?
- そのテーブルに既存の一意の制約がある場合、パブリッシャーでそれを変更でき、変更はサブスクライバーにレプリケートされますか?
ティア
sql-server-2008 - マージインデックス違反の原因となる00000000-0000-0000-0000-000000000000のGUID
私たちの開発者は、私のデータベースと通信するlinq-2-sqlプロジェクトを持っています。データベースはマージレプリケーションに関与しています。それはしばらくの間使用されていて、うまく機能していました。最近のテーブルがスキーマに追加され、新しいレコードが追加されたときに問題が発生しています。
ユーザーは、マージレプリケーションが自動的に作成するGUIDに関連するインデックスが一意の制約に違反していることを示すエラーメッセージを受け取ります。
私が言えることから、このテーブルは他の関係者と何ら変わりはありません。レプリケーションパブリケーション/サブスクリプションモデル全体を最初から再作成しましたが、その1つのテーブルを除いてすべてが引き続き機能します。
誰かアイデアはありますか?作成中のGUIDは00000000-0000-0000-0000-000000000000と表示され、重複している理由を説明します。有効なGUIDがlinqによって作成されないのはなぜですか?
sql-server-2008 - WinCEデバイスからSQLServer2008R2へのSQLレプリケーション
SQL Server2008R2データベースにデータを複製したいWindowsCEデバイスがあります。レプリケーションの基本を理解しており、MSDNの「2サーバートポロジ」を使用する必要があります。IISボックスと個別のSQLServerボックスがある場合。
SQLデータベースにレプリケーションとパブリケーションを設定しています。また、IISボックスで仮想ディレクトリを作成し、UNC経由でデータベースボックスに物理フォルダーを作成しました。これで、IISボックスを構成する段階になりました。
「2サーバートポロジ」によると、IISボックスにSQLServerをインストールする必要はありません。SQL Server CompactEdition3.5ツールだけです。ただし、CEツールのインストールのセットアップを実行すると、レプリケーションコンポーネントがインストールされていないことを示すのに失敗します。調査した結果、レプリケーションコンポーネントをインストールする唯一の方法はSQLServerのインストールによるもののようです。
私は何かが足りないのですか?SQL ServerをインストールせずにIISボックスをスタンドアロンにすることはできますか?
sql-server-2008 - SQLレプリケーション、CEデバイス
SQL Server2008R2データベースにデータを複製したいWindowsCEデバイスがあります。レプリケーションの基本を理解しており、MSDNの「2サーバートポロジ」を使用する必要があります。IISボックスと個別のSQLServerボックスがある場合。
SQLデータベースにレプリケーションとパブリケーションを設定しています。また、IISボックスで仮想ディレクトリを作成し、UNC経由でデータベースボックスに物理フォルダーを作成しました。したがって、IISボックスの仮想ディレクトリパスは「\ databasebox \ c $\Replications」のようになります。両方のボックスにユーザーを設定し、接続を正常にテストできます。
「https://www.mydomain.com/Replications」などのパスを介してデバイスから仮想ディレクトリを参照できます。ディレクトリ参照をオンにすると、sqlcesa35.dllが表示されます。
問題はサブスクリプションの追加です。Web同期ウィザードを使用して、プロセスを完了できません。既存の仮想ディレクトリを構成するところまで来ました。それを選択すると、「ConnWiz-ローカルパスが正しい形式ではありません」というエラーが表示されます。ウィザードを使用して新しい仮想ディレクトリを作成し、リモートディレクトリUNCを追加するポイントを取得した場合、それは許可されません。
マップされたドライブを試しましたが、許可されていません。これは、Microsoftの「2サーバートポロジ」の一部である可能性があります。
仮想ディレクトリがボックス2のフォルダーを指すIISボックス1でレプリケーションサブスクリプションを作成するにはどうすればよいですか?
sql-server-2008 - SQL Server2008R2での中央サブスクライバーレプリケーション
このオフィスにはリージョナルオフィスといくつかのデータがあります。各リージョナルオフィスからセントラルオフィスに毎日データを転送したいので、セントラルサブスクライバトポロジが必要です。セントラルサブスクライバのトランザクションレプリケーションを実装していますが、トランザクションレプリケーションに問題があります。新しいリージョナルオフィスがこれらのレプリケーションに参加する場合、そのデータベースは空である必要がありますが、新しいソフトウェアが新しいリージョナルオフィスにインストールされると、新しいデータベースにいくつかの行が入力され、トランザクションレプリケーションを設定すると、これらのデータは転送されません。中央サーバーなので、マージレプリケーションが必要だと思います。しかし、「中央サブスクライバマージレプリケーション」を実装するための有用なヘルプを検索しましたが見つかりませんでした。どのように実装できますか?中央サブスクライバーマージレプリケーション"?
sql-server-2008 - ストアド プロシージャのみを使用してマージ レプリケーションでデータベースにアクセスする利点はありますか?
アプリケーションが Sql Server 2008 DB にアクセスまたは変更するために使用する唯一の方法が SP であるプロジェクトがあります。SP のみのアプローチを放棄し、Linq to Sql を DB で直接使用できるようにするよう開発者に求めています。これを許可するかどうかを決定する必要があります。別の情報を追加する必要があります。プロジェクトは成長しており、近い将来、マージ レプリケーションを備えた 2 台目の SQL サーバー マシンが必要になる可能性があります。
私がこれを言ったのは、SP のみのアプローチが競合を回避し、パフォーマンスが向上するため、マージ レプリケーション シナリオで有益であると信じていたからです (ただし、現在インターネット上でこれに対するサポートは見つかりません)。
この声明に真実はありますか?この声明を証明または反証する参考文献にリンクしていただけますか? あなたの意見は何ですか?
これが決定を下す決定的な要因になりました。
sql-server-2008 - 3 つ以上のテーブル間の結合フィルター
そのため、パブリケーション内の他の 2 つの記事に基づいてフィルター処理したい記事があるシナリオがあります。これを T-SQL として記述するとしたら、次のようになります。
を見ると、一度に 1 つのテーブルにしか参加できないことを意味するsp_addmergefilter
というパラメータを受け入れます。@join_articlename
私がやろうとしていることを達成する方法はありますか? 前もって感謝します。
sql-server - SQL Server レプリケーション: パブリッシャーで壊れたサブスクリプションを削除する
サブスクライバーには、1 つの「実際の」サブスクリプションのみに対して複数のサブスクリプション (マージ プル) があります。サブスクライバー側からサブスクリプションを追加および削除し、それを複製しようとすることで、実際にこのように壊れたと思います...複数回。
問題は、レプリケーションが機能しないことではありません。私はその答えを確信しています。問題は、サブスクライバーで壊れたサブスクリプションをドロップ/削除できないことです。それはうまくいきません。
パブリッシャーで実行しようとするとsp_dropmergepullsubscription
、「このパブリケーション記事にはサブスクリプションがありません」と表示されます。
パブリッシャーで実行しようとするとsp_dropsubscription
、「このデータベースはサブスクリプションが有効になっていません」と表示されます
はい、これらすべてのスクリプトを正しいデータベースで実行していることを確認しました。
以前にこのような問題を抱えた人はいますか? 発行と購読をやり直す必要がありますか?
みんなありがとう!:)
sql-server - SQL Server のパフォーマンスに関する提案
データ型 int の主キーのみを使用してデータベース テーブルを作成しており、常に優れたパフォーマンスを発揮してきましたが、更新可能なサブスクライバーを使用してマージ レプリケーションをセットアップする必要があります。
これらのテーブルでは、一般的な主キー、データ型 int、ID 増分を使用しています。マージ レプリケーションを設定するには、デフォルト値の newsequentialid() 関数を使用してすべてのテーブルに rowguid を追加する必要があります。rowguid がインデックス可能になっていることに気付き、もう主キーが必要かどうか疑問に思っていましたか?
主キー int と rowguid の 2 つのインデックスを使用しても問題ありませんか? マージ レプリケーション テーブルの最適なレイアウトは何ですか? 簡単に行を参照できるように int id を保持し、インデックスを削除して主キーを保持するだけですか? どのルートを取るべきかわからない、ありがとう。