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

sql - SQL トランザクション レプリケーションでは、テーブルに対するユーザー権限を変更すると、新しいスナップショットがトリガーされますか?


私は、SQL Server 2012 のトランザクション レプリケーション シナリオについて何らかの助けを得たいと思っていました。あるいは、SQL サーバーのどこにアクセス許可が格納されているかを理解しているだけかもしれません。トランザクション レプリケーション構成で、パブリッシャーの特定のテーブルに対するユーザーのアクセス許可 (SELECT または INSERT の付与など) を変更すると、サブスクライバーが新しいスナップショットからプルする必要があるようにスキーマが変更されますか?

私の懸念は、新しいスナップショットが作成されている間、サブスクライバーが事実上オフラインになるような変更によるダウンタイムの可能性です。理想的には、特定のユーザーに、パブリッシャーまたはサブスクライバーのいずれかで複製された記事への新しいアクセス許可を、リセットせずに付与するだけで済みます。更新されたアクセス許可がパブリッシャーからサブスクライバーにレプリケートされることについては心配していません (実際、理想的にはレプリケートされません)。前もって感謝します!

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

c# - データベース(SQLサーバー)の変更についてC#アプリケーションに通知する方法

私はac#アプリケーションに取り組んでいます。このアプリケーションには、マスター データベースとスレーブ データベースがあります。マスター データベースは、転写レプリケーションを使用してスレーブ データベースのデータを更新します (私はそれを実装し、正常に動作しています)。

私の問題は、マスターデータベースがスレーブデータベースのデータを更新するときに、データが更新されたことをC#アプリケーションがどのように認識し、ユーザーインターフェイスだけでなくキャッシュ内のデータも更新することです。

つまり、SQL サーバーから C# アプリケーションにデータを公開する方法を教えてください。

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

sql-server-2012 - RMO 経由の SQL Server Express 2012 プル同期でサブスクリプションが表示されない

SQL Server 2012 と SQL Server Express 2012 の間でレプリケーションをセットアップしようとしています。SSMS を介してパブリケーションとサブスクリプションをセットアップし、RMO を介して同期を実行しようとしています。

こちらの回答に従いましたが、同期しようとしているサブスクリプションが存在しないというエラーが表示されます。サブスクライバーのサブスクリプションのリストを調べるためにこれを試しましたが、空です。

しかし、SSMS でサブスクリプションを確認できます。そこにいて私を見ている。これらの設定方法について何かが欠けているに違いありません。パブリケーションとサブスクリプションの両方を既に削除して再作成しました。運がない。

更新: TransPullSubscriptions を探すようにサンプル コードを変更しました。2 番目のリンクのコードは、サブスクリプションを正しく出力するようになりました。

ただし、実際に同期を実行するコードは、サーバー上のサブスクリプションをまだ認識していません。

ロード プロパティのテストは失敗しますが、続行するとエラーがスローされます。「SynchronizationAgent」は、オブジェクトがサーバー内の既存のオブジェクトを提示する場合にのみ使用できます。

更新: より多くのコードが追加されました!

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

c# - レプリケートされたテーブルを削除/作成する最良の方法

会計アプリケーション用に複数のテーブルをレプリケートするように SQL Server レプリケーションをセットアップしました。初期スナップショットでトランザクション レプリケーションを使用しています。約100人の加入者があります。

レプリケートされたテーブルを更新する最善の方法を見つけようとしています。現在、更新を行う場合、エンド ユーザーは、データを一時テーブルに移動し、テーブルを削除してから、新しいテーブル定義に基づいてテーブルを再作成することで、テーブルをアップグレードするユーティリティを実行する必要があります。問題は、レプリケートされたテーブルを削除できないことです。

これまで色々と調べたり試したりしてきました。レプリケートされたテーブルを削除/作成するために私が見つけたものから、記事を削除する必要がありますが、すべてのサブスクリプションが削除された場合にのみ削除できます。つまり、テーブルをアップグレードするには、すべての記事とサブスクリプションを削除してから、パブリケーションを完全に再作成する必要があります。

これにはかなりのリファクタリングが必要になるため、面倒です。また、100 人のサブスクライバすべてに対して複製をやり直すのにかかる時間も、主な懸念事項です。レプリケートされたテーブルの削除/作成を処理するためのより良い方法があるかどうか疑問に思っていました。

ありがとう、マコライト

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

sql - レプリケーション TempDB のサイズ

現在、2 つの MS SQL Server (両方とも 2008 r2 を実行) でレプリケーションをセットアップしています。

サブスクライバーでは、私の tempdb は、1 時間以内に約 28 GB というとんでもない速度ですぐにいっぱいになります。進行中のトランザクションを保存するために tempdb を使用する必要があることは理解していますが、これは後で縮小する必要がありますか?

レプリケーション用に 35Gb のログ ファイルも取得しましたが、これも縮小できないようです。

誰かアイデアはありますか?

ありがとう

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

sql-server - OS エラー 53 のため、プロセスはファイルを読み取れませんでした

私はこれを修正するために高低を探しましたが、すべてが同じことを言っています-権限エラーです。レプリケーション モニターに表示されるエラーには明確に示されていますが、何が間違っているのかわかりません。

セットアップ(スクリーンショットのすべての赤い線で申し訳ありません-ものを偽装するために最善を尽くしています;)):

サブスクリプションは正常に作成され、パブリケーション スナップショット エージェントを起動して、フォルダー共有にスナップショットを正常に作成します。

パブリッシャーのレプリケーション モニターを見ると、OS エラー 53 ( http://screencast.com/t/4ORyBkQUYVRg ) の詳細が表示されThe network path was not foundます。パスとファイルが存在し、SQL_Replication_Dev ユーザーがアクセスできます (サーバーにログインし、共有を介してファイルに移動することでこれをテストしましたが、これで十分ですか?)。

何か案は?