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

sql-server - トランザクション レプリケーションのサブスクライバーでデータベースがサブスクライブされているかどうかを確認する T-SQL

T-SQL を使用して、トランザクション レプリケーションのサブスクライバーでデータベースがサブスクライブされているかどうかを確認します。詳細について Distribution に問い合わせたくありません。

以下は動作しません。

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

c# - SQL Server インスタンスをリモートで利用できるようにする最善の方法は? リンクされたサーバーまたはレプリケーション? 他の?

同僚と私は、患者プロファイル、患者の薬の処方箋などの管理を扱う薬局ソフトウェア (C#) に取り組んでいます。これらのさまざまなデータ セットはすべて、SQL サーバー データベースに格納されています (使用している2008 標準ですが、将来のバージョンも問題ありません)。各ストアには、ローカル マシン上に独自の SQL サーバー インスタンスがあります。

私たちの目的:

必要に応じて、「ストア A」が「ストア B」のデータベースにアクセスできるようにしたいと考えています。基本的には、薬局の顧客が町の外にいて、他の薬局の支店の 1 つを訪れた場合です。

私が考えたこと:

  1. 私の最初の考えは、基本的に、DNSリンク(またはおそらくIP)を介してアクセスできるSQLサーバーのオンラインサーバーインスタンスを維持することでした。これらを同期させる最善の方法を見つけようとしていたところ、SQL Server のレプリケーションに出会いました。問題は、サブスクライバーの更新でトランザクション レプリケーションを使用するつもりだったが、廃止されたため、実際には長期的なオプションではなくなったことです。Microsoft は p2p レプリケーションの使用を提案していますが、これにはエンタープライズ エディションが必要であり、可能であればそれを避けようとしています。トランザクション タイプのレプリケーションを使用したかったのは、レコードの一貫性を維持するのにはるかに優れているためです (マージ エージェント ジョブが 1 時間ごとに実行されるのを待つ必要がないなど)。

  2. 私が最近考えたのは、インターネット ベースの SQL サーバー インスタンスを使用することです。これには、各店舗のローカル マシンに戻るリンク サーバーしか含まれていません。他のストアがお互いのローカル マシンから直接動作するだけであれば、同期の問題について心配する必要はありません。しかし、これは恐ろしいセキュリティの脆弱性であると多くの人が言っているのを読んだので、これがもっともらしい考えであるかどうかはわかりませんが、おそらくこれを機能させる方法があると思いますか?

とにかく、これが私たちがやろうとしていることの基本的な要点です。レプリケーション サーバーとリンク サーバーのどちらがより適切なルートなのかはわかりません。

編集:

双方向レプリケーションはどうですか? これについて少し読んでいましたが、これが必要かどうかについては少しわかりません。主キーは処方箋番号などを識別するのに非常に重要なので、サーバー間などで主キーをずらしたくはありません。でも、双方向のレプリケーションができれば、それもいいかもしれません。

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

sql-server - このレプリケーション シナリオを処理するにはどうすればよいですか?

P、S1、S2、S3など、いくつかのデータベースがあるとします。

P (パブリッシャー) には、 S1、S2、および S3 (サブスクライバー)でレプリケート (複製および同期) する必要があるいくつかのテーブルがあります。これらのテーブルのコピーは読み取り専用になります。さらに、コピーは S1、S2、S3 などの他のテーブルによって (外部キーを介して) 参照されます。

例えば、

  • P にはテーブルP.O1P.O2があります。S1 にはS1.O1_copy、S1.O2_copy、およびS1.OTHERがあり、S1.OTHERは S1.O1_copy を参照します。

あなたの経験から、このシナリオではSQL Server トランザクション レプリケーション(私の知る限り、これはログベースのレプリケーションです) を使用しても問題ありませんか? または、トリガーベースのレプリケーションを使用する方がよいでしょうか? ただし、新しいサブスクライバー (データベース) が追加されるたびにトリガーを更新する必要があると思います。

レプリケートする必要がある P のテーブルはめったに更新されませんが、データの一貫性を確保するために、更新操作はトランザクションである必要があります (レプリカからの読み取りは、要求されたデータの最新のスナップショットを返す必要があります)。

ありがとうございました :)

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

sql - SQL Server 2012 データベース トランザクション レプリケーションのパフォーマンスの問題

クライアントの .NET Web アプリケーション用に SQL Server 2012 データベース トランザクション レプリケーションを構成し、SQL トランザクションとレポートを異なる SQL Server に分散させました。

SQL-Node1 にトランザクション レプリケーションを実装し、マスター DB サーバーとして機能させました。SQL-Node2 でマスター DB のレプリケーションを構成して、大量のトランザクションと Excel シート エントリからのデータ アップロードを含む Web アプリケーションにレポートを引き出しました。毎日約 1000 万件のエントリがあります。

2 つの SQL Server 2012 インスタンスでレプリケーションを構成した後、数週間後、いくつかのパフォーマンスの問題に直面し、データベースにファイルをアップロードしているときに一部のリソースがロックされることがわかりました。これにより、アプリケーションはそれらのテーブルとデータにアクセスできなくなりました。また、ユーザーが Web アプリケーションにアクセスする日中にサーバーのパフォーマンスが非常に遅いこともわかりました。

現在、SQL Server 2012 の異なる 3 つのノードに負荷を分散することを検討しています。Web アプリケーションが SQL-Node1 のデータにアクセスして処理する場合、レポート クエリは SQL-Node2 からプル データを取得し、SQL-Node3 は Excel シートのアップロードに使用されます。他のすべての SQL ノードでレプリケートされるデータベースへのデータ。

現在のセットアップ、Windows Server 2008 Standard および SQL Server 2012 Enterprise Edition を搭載したすべてのサーバー。

データベース サイズ約: 15 GB / 使用されるレプリケーション: トランザクション / SQL ノード 1 で構成されたディストリビューター ロール / SQL ノード 2 で構成されたサブスクライバー ロール。

さまざまな負荷 (レポート、データのアップロード、トランザクション) を分散し、すべての SQL ノード間でデータを複製できる上記の問題を解決するソリューションを探しています。

SQL Server 2012 HA、SQL Server レプリケーション、または SQL Server ミラーリングのうち、上記のシナリオで適切に機能する機能はどれですか??

迅速な対応、大変有り難く存じます。...

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

sql-server - レプリケーション - 記事をパブリケーションに追加すると、他のすべての記事のスナップショットが発生します

パブリケーションに記事 (テーブル) を追加してからスナップショット エージェントを実行すると、新しい記事のスナップショットのみが作成されます。ただし、レプリケーションによって、パブリケーション内のすべてのアーティクルの再スナップショットが決定される場合があります。だから、私は2つの質問があります:

  1. 記事が 1 つしか追加されていないのに、すべての記事が再スナップショットされることがあるのはなぜですか?
  2. 次回スナップショット エージェントが実行されたときに (DMV やシステム テーブルなどで) スナップショットを作成するようにマークされているアーティクルを事前に知ることはできますか?

どうもありがとう。

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

sql-server - スナップショット レプリケーション用の新しいパブリケーションを追加できません

SQL Server 2008 R2 データベース インスタンスでスナップショット レプリケーションを作成しますが、レプリケーション ノードのローカル パブリケーションで新しいパブリケーション サブメニューを使用すると、次のエラー メッセージが表示されます。

新しいパブリケーション ウィザード

SQL Server はサーバー '192.168.1.7' に接続できません。

ヘルプについては、http: //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1&EvtSrc=Microsoft.SqlServer.Management.UI.PubWizardErrorSR&EvtID=CantConnect&LinkId=20476をクリックしてください。


追加情報:

SQL Server レプリケーションでは、サーバーに接続するために実際のサーバー名が必要です。サーバー エイリアス、IP アドレス、またはその他の代替名による接続はサポートされていません。実際のサーバー名「SHAHEDINSTDB02」を指定します。(レプリケーション.ユーティリティ)

SQL Server への接続にコンピュータ名を使用すると、接続後にこのエラー メッセージが再度表示されます。