SQL Server 2016 スナップショット エージェント プロセスの詳細な説明
この記事では、SQL Server 2016 スナップショット エージェント プロセスの詳細な分析と、注意すべき点の例を説明します。エディターに従って学習してください。 SQL Server 2016 のインスタンス データ テーブルを使用して、スナップショット エージェント プロセスで発生する問題と解決策を詳細に分析し、スナップショット生成プロセスについて詳しく説明します。全内容は次のとおりです。
スナップショット エージェントの準備 テーブルやその他のオブジェクトのスキーマと初期データ ファイルを公開し、スナップショット ファイルを保存し、ディストリビューション データベースに同期情報を記録します。 スナップショット エージェントはディストリビューション サーバー上で実行されます。SQL Server 2016 バージョンでは、スナップショット エージェントの最適化がさらに強化されています。次に、スナップショットの実行プロセスについて詳しく見てみましょう。 1. スナップショットプロキシファイルスナップショットジョブを実行すると、指定したスナップショットディレクトリに4種類のファイルが生成されます。
BCP ファイル: 公開されたオブジェクトのデータ ファイル。 IDXファイル:インデックス作成スクリプトファイル PREファイル:スナップショットスクリプトファイルをコピーします。 SCH ファイル: アーキテクチャ作成スクリプト ファイル 2. デフォルトのスナップショット エージェント構成ファイル
-BcpBachSize: 各 bcp 操作コピーの最大レコード行数、デフォルトは 100,000 行です。
次のテストは、2 億のレコード テーブルによって生成されたスナップショットを比較することです
1.bcp ファイル番号の比較2008R22016SP1
ここでの重要なポイント BCP ファイルについて話しましょう。スナップショットをサブスクライバに適用する際には、BCP ファイルが基本単位として使用されます。つまり、BCP ファイルがどれほど大きくても、サブスクライバに一括で送信されます。したがって、BCP ファイルが大きくなるほど、適用時間も長くなります。 BCP ファイルが大きすぎる場合、サブスクライバへの挿入が失敗する可能性があります。
2016SP1
生成されたBCPファイルレコードの比較:
一般的な欠点: テーブル レコードが「複製されたテーブル レコードの適切な数」を超えると、残りのデータはすべて最後の bcp ファイルに保存されます。
2008R2 の配布記録プロセスから、各 BULK は bcp ファイルに基づいており、前回の bcp ファイルには 10 秒以上かかりましたが、現在のテーブルにはフィールドが 3 つしかなく、主キー以外のインデックスがないため、時間はさらに長くなります。
レプリケーション スナップショット エージェントは、スナップショット ファイル (パブリッシュされたテーブルとデータベース オブジェクトのスキーマとデータを含む) を準備し、これらのファイルをスナップショット ファイル フォルダーに保存する実行可能ファイルです。そして、同期ジョブをディストリビューション データベースに記録します。
上の図から、スナップショット生成プロセス全体を理解することができます。
5. 構文
snapshot [ -?] -Publisher server_name[\instance_name] -Publication publication_name [-70Subscribers] [-BcpBatchSize bcp_batch_size] [-DefinitionFile def_path_and_file_name] [-Distributor server_name[\instance_name]] [-DistributorDeadlockPriority [-1|0|1] ] [-DistributorLogin distributor_login] [-DistributorPassword distributor_password] [-DistributorSecurityMode [0|1] ] [-DynamicFilterHostName dynamic_filter_host_name] [-DynamicFilterLogin dynamic_filter_login] [-DynamicSnapshotLocation dynamic_snapshot_location] [-EncryptionLevel [0|1|2]] [-FieldDelimiter field_delimiter] [-HistoryVerboseLevel [0|1|2|3] ] [-HRBcpBlocks number_of_blocks ] [-HRBcpBlockSize block_size ] [-HRBcpDynamicBlocks ] [-KeepAliveMessageInterval keep_alive_interval] [-LoginTimeOut login_time_out_seconds] [-MaxBcpThreads number_of_threads ] [-MaxNetworkOptimization [0|1]] [-Output output_path_and_file_name] [-OutputVerboseLevel [0|1|2] ] [-PacketSize packet_size] [-ProfileName profile_name] [-PublisherDB publisher_database] [-PublisherDeadlockPriority [-1|0|1] ] [-PublisherFailoverPartner server_name[\instance_name] ] [-PublisherLogin publisher_login] [-PublisherPassword publisher_password] [-PublisherSecurityMode [0|1] ] [-QueryTimeOut query_time_out_seconds] [-ReplicationType [1|2] ] [-RowDelimiter row_delimiter] [-StartQueueTimeout start_queue_timeout_seconds] [-UsePerArticleContentsView use_per_article_contents_view]
パラメータ
-?
使用可能なパラメータをすべて出力します。
-Publisher server_name[instance_name]
公開サーバーの名前。このサーバー上の Microsoft SQL Server のデフォルトのインスタンスとして、server_name を指定します。このサーバー上の server_nameinstance_nameinstance_name SQL Server の既定のインスタンスの server_name を指定します。
-出版物 Publication
出版物の名前。このパラメーターは、新しいサブスクリプションまたは再初期化されたサブスクリプションで常にスナップショットを利用できるようにパブリケーションが設定されている場合にのみ有効です。
-70Subscribers
SQL Server バージョン 7.0 を実行しているサブスクライバーがある場合は、このパラメーターを使用する必要があります。
-BcpBatchSize bcpバッチ size
一括コピー操作で送信された行の数。操作中の bcp を実行する場合、バッチ サイズは 1 つのトランザクションとしてサーバーに送信される行数であり、ディストリビューション エージェントが bcp 進行状況メッセージを記録する前に送信する必要がある行数です。 bcp out 操作を実行する場合、固定バッチ サイズ 1000 が使用されます。値 0 は、メッセージがログに記録されないことを意味します。
-DefinitionFile def_path_and_file_name
エージェント定義ファイルへのパス。エージェント定義ファイルには、エージェントのコマンド ライン パラメータが含まれています。ファイルの内容は実行可能ファイルとして解析されます。任意の文字を含むパラメータ値を指定するには、二重引用符 (") を使用します。
-Distributor server_name[instance_name]
ディストリビューション サーバー名。このサーバー SQL Server の default インスタンスの server_name を指定します。デッドロックが発生したときにスナップショット エージェントが配布サーバーに接続するための優先順位
配信サーバー上 配信サーバーでデッドロックが発生した場合、スナップショットエージェントではなくアプリケーションが優先されます 0 (デフォルト) 優先度は割り当てられません
1
ディストリビューション サーバーでデッドロックが発生した場合、スナップショット エージェントが優先されます。
distributor_login SQL Server 認証を使用してディストリビューション サーバーに接続するときに使用するログイン名。 パスワード。 SQL Server 認証を使用して配布サーバーに接続するときに使用します。-DistributorSec.urityMode [ 0| 1] 値 0 は、SQL Server 認証モードを示します。 、値 1 は Windows 認証モードを示します。
たとえば、サブセット フィルター句 rep_id = HOST_NAME() の場合、フィルター処理で HOST_NAME (Transact-SQL) の値を設定するために使用されます。プロジェクトに指定され、マージ エージェントを呼び出す前に DynamicFilterHostName プロパティが "FBJones" に設定されている場合、rep_id 列に "FBJones" が含まれる行のみがコピーされます。動的スナップショットを作成するときのフィルター内の SUSER_SNAME (Transact-SQL) の値。たとえば、プロジェクトにサブセット フィルター句 user_id = SUSER_SNAME() を指定し、SQLSnapshot オブジェクトの Run メソッドを呼び出す前に DynamicFilterLogin プロパティを "rsmith" に設定した場合、user_id 列に "rsmith" を含む行のみがプロジェクトに含まれます。スナップショット。
-DynamicSnapshotLocation
動的スナップショットが生成される場所。
-EncryptionLevel [ 0 | 1 | 2 ]
接続を確立するときにスナップショット エージェントによって使用される Secure Sockets Layer (SSL) 暗号化のレベル。EncryptionLevel 値
説明
0
SSL を使用しないことを指定します。
1
SSL の使用を指定しますが、プロキシは SSL サーバー証明書が信頼できる発行者によって署名されているかどうかを検証しません。
2
SSLを使用することを指定し、証明書を検証します。
-FieldDelimiter field_delimiter
SQL Server 一括コピー データ ファイルのフィールドの終わりをマークするために使用される文字または文字のシーケンス。デフォルト値は n
-HistoryVerboseLevel [ 1| 2| 3]
スナップショット操作中に記録される履歴のサイズを指定します。履歴ログによるパフォーマンスへの影響を最小限にするには、1 を選択します。
HistoryVerboseLevel 値
説明
0
進行状況メッセージがコンソールまたは出力ファイルに書き込まれます。ディストリビューション データベースに履歴を記録しません。
1
前の履歴メッセージを常に同じステータス (開始済み、進行中、成功など) で更新します。同じステータスを持つ以前のレコードがない場合は、新しいレコードが挿入されます。
2 (デフォルト)
レコードがアイドルメッセージや長時間実行ジョブメッセージなどの情報でない限り、新しい履歴レコードを挿入します (その場合、前のレコードが更新されます)。
3
アイドルメッセージに関連しない限り、常に新しいレコードを挿入します。
-HRBcpBlocks number_of_blocks
書き込みスレッドと読み取りスレッドの間でキューに入れられた bcp データ ブロックの数。デフォルト値は 50 です。 HRBcpBlock は Oracle リリースでのみ使用されます。
備考
このパラメータは、Oracle Publisher を通じて bcp のパフォーマンスを最適化するために使用されます。
-HRBcpBlockSizeblock_size
各 bcp データ ブロックのサイズ (KB 単位)。デフォルト値は 64 KB です。 HRBcpBlock は Oracle リリースでのみ使用されます。
備考
このパラメータは、Oracle Publisher を通じて bcp のパフォーマンスを最適化するために使用されます。
-HRBcpDynamicBlocks
各 bcp データ ブロックのサイズを動的に拡大できるかどうか。 HRBcpBlock は Oracle リリースでのみ使用されます。
備考
このパラメータは、Oracle Publisher を通じて bcp のパフォーマンスを最適化するために使用されます。
-KeepAliveMessageInterval keep_alive_interval
MSsnapshot_history テーブルに「バックエンド メッセージ待機中」を記録する前にスナップショット エージェントが待機する時間 (秒単位)。デフォルト値は 300 秒です。
-LoginTimeOut login_time_out_seconds
ログインがタイムアウトになるまで待機する秒数。 デフォルト値は 15 秒です。
-MaxBcpThreads number_of_threads
並行して実行できる一括コピー操作の数を指定します。同時スレッドと ODBC 接続の最大数は、MaxBcpThreads またはディストリビューション データベースの同期トランザクションに示される一括コピー要求の数の小さい方です。 MaxBcpThreads の値は 0 より大きい必要があり、ハードコーディングされた上限はありません。デフォルト値は 1 です。
- MaxNetworkOptimization [ 0| 1]
無関係な削除操作をサブスクライバーに送信するかどうか。無関係な削除操作は、サブスクライバ パーティションに属さない行に対してサブスクライバに送信される DELETE コマンドです。無関係な削除操作はデータの整合性や収束には影響しませんが、不要なネットワーク トラフィックが発生する可能性があります。 MaxNetworkOptimization のデフォルト値は 0 です。 MaxNetworkOptimization を 1 に設定すると、無関係な削除操作が行われる可能性が最小限に抑えられるため、ネットワーク トラフィックが削減され、ネットワークの最適化が最大化されます。複数のレベルの結合フィルターと複雑なサブセット フィルターがある場合、このパラメーターを 1 に設定すると、メタデータのストレージが増加し、パブリッシャーのパフォーマンスが低下する可能性があります。レプリケーション トポロジを慎重に評価し、無関係な削除操作によって引き起こされるネットワーク トラフィックが許容できないほど高い場合にのみ、MaxNetworkOptimization を 1 に設定する必要があります。
備考
このパラメーターを 1 に設定することは、マージ パブリケーションの同期最適化オプション (sp_addmergepublication (Transact-SQL) の @keep_partition_changes パラメーター) が true に設定されている場合にのみ役立ちます。
-Output output_path_and_file_name
エージェント出力ファイルのパス。ファイル名が指定されていない場合、この出力はコンソールに送信されます。指定したファイル名がすでに存在する場合、出力はファイルに追加されます。
-OutputVerboseLevel [ 0| 1| 2]
出力で詳細なコンテンツを提供するかどうかを指定します。
OutputVerboseLevel 値
説明
0
エラーメッセージのみを出力します。
1 (デフォルト)
すべての進行状況レポートメッセージを出力します (デフォルト)。
2
すべてのエラー メッセージと進捗レポート メッセージを出力します。これはデバッグに役立ちます。
-PacketSize packet_size
SQL Server への接続時にスナップショット エージェントによって使用されるパケット サイズ (バイト単位)。デフォルト値は 8192 バイトです。
注意事項
パフォーマンスが向上することが確実でない限り、パケット サイズを変更しないでください。ほとんどのアプリケーションでは、デフォルトのパケット サイズが最適な値です。
-ProfileName profile_name
プロキシ パラメータに使用されるプロキシ プロファイルを指定します。 ProfileName が NULL の場合、エージェント プロファイルは無効になります。 ProfileName が指定されていない場合は、このエージェント タイプのデフォルトのプロファイルが使用されます。
-PublisherDB publisher_database
発行データベースの名前。 Oracle Publisher はこのパラメータをサポートしていません。
-PublisherDeadlockPriority [-1|0|1]
デッドロックが発生したときにパブリッシャーに接続するスナップショット エージェントの優先順位。このパラメータは、スナップショットの生成中にスナップショット エージェントとユーザー アプリケーションの間で発生するデッドロックの問題を解決するために指定されます。
PublisherDeadlockPriority 値
説明
-1
パブリッシャーでデッドロックが発生します。
0 (デフォルト)
優先度は割り当てられていません。
1
パブリッシャーでデッドロックが発生した場合、スナップショット エージェントが優先されます。
-PublisherFailoverPartner server_name[instance_name]
パブリケーション データベースとのデータベース ミラーリング セッションに参加する SQL Server フェールオーバー パートナー インスタンスを指定します。
-PublisherLogin publisher_login
SQL Server 認証を使用してパブリッシャーに接続するときに使用されるログイン名。
-PublisherPassword publisher_password
SQL Server 認証を使用してパブリッシャーに接続するときに使用するパスワード。 。
-PublisherSecurityMode [ 0| 1]
パブリッシャーのセキュリティ モードを指定します。値 0 は SQL Server 認証 (デフォルト) を示し、値 1 は Windows 認証モードを示します。
-QueryTimeOut query_time_out_seconds
クエリがタイムアウトになるまで待機する秒数。デフォルト値は 1800 秒です。
-ReplicationType [ 1| 2]
レプリケーションのタイプを指定します。値 1 はトランザクション レプリケーションを示し、値 2 はマージ レプリケーションを示します。
-RowDelimiter row_delimiter
SQL Server 一括コピー データ ファイルの行の終わりをマークするために使用される文字または文字のシーケンス。デフォルト値は nn です。
-StartQueueTimeout start_queue_timeout_seconds
実行中の同時動的スナップショット プロセスの数が sp_addmergepublication (Transact-SQL) の @max_concurrent_dynamic_snapshots プロパティで設定された制限に達したときに、スナップショット エージェントが待機する最大秒数。スナップショット エージェントが最大秒数を経過しても待機している場合、スナップショット エージェントは終了します。値 0 は、エージェントが無期限に待機することを意味しますが、キャンセルすることはできます。
-UsePerArticleContentsView use_per_article_contents_view
このパラメータは非推奨であり、下位互換性のためにサポートされています。
以上がSQL Server 2016 スナップショット エージェント プロセスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WindowsServerBackup は、WindowsServer オペレーティング システムに付属する機能で、ユーザーが重要なデータとシステム構成を保護し、中小企業、エンタープライズ レベルの企業に完全なバックアップおよび回復ソリューションを提供できるように設計されています。この機能を使用できるのは、Server2022 以降を実行しているユーザーのみです。この記事では、WindowsServerBackup のインストール、アンインストール、またはリセットの方法を説明します。 Windows Server バックアップをリセットする方法 サーバー バックアップで問題が発生したり、バックアップに時間がかかりすぎたり、保存されているファイルにアクセスできない場合は、Windows Server バックアップ設定をリセットすることを検討してください。 Windowsをリセットするには

Windows Server のビルド 26040 バージョンのリリースに際し、Microsoft は製品の正式名を Windows Server 2025 と発表しました。 Windows11WindowsInsiderCanaryChannel バージョン build26040 もリリースされました。何年も前に、誰かが Windows NT をワークステーション モードからサーバー モードに変換し、Microsoft オペレーティング システムのさまざまなバージョン間の共通点を示したことをまだ覚えている人もいるでしょう。 Microsoft の現在のバージョンのサーバー オペレーティング システムと Windows 11 には明らかな違いがありますが、詳細に注目する人は、なぜ Windows Server がブランドを更新したのか、

nginx のデフォルト名を変更する方法、少し偽装することも、インストールすることもできますヒント: 通常、変更は nginx がコンパイルされる前に行われます。変更後、コードは次のように再コンパイルする必要があります: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

バック・トゥ・ザ・フューチャー 1999 では、プレイヤーは多くのレベルの課題に直面し、各レベルはまったく異なる課題をもたらします。レベルの 1 つである 6 ~ 24 は、間違いなく多くのプレイヤーがそれについて考えているでしょう。このレベルへの挑戦方法は知っているので、以下に関連するクリアランス方法も示します。バック・トゥ・ザ・フューチャー 19996-24 クリア方法 1. レベル 30 を一言で燃やした後、ボスが気絶するのを待って強打します。 2.メインCと142dを優先して1ラウンドで燃やす。 3. 2ラウンド目は補助と乳母の小スキルでバーンとメインのCカードで大技を組み立てます。 4. ボスは 3 ラウンドで気絶させられ、その後究極の移動スキルとダメージ スキルで直接倒されます。

Microsoft はデスクトップ向けの Win11 プレビュー アップデートをリリースしましたが、本日、Windows Server 長期サービス チャネル (LTSC) プレビュー ビルド 25335 もリリースしました。いつものように、Microsoft は完全な変更ログを公開しておらず、対応するブログ投稿さえ提供していません。 Microsoft は、Windows Server プレビュー バージョンの更新ログを Canary チャネル バージョンと同じになるように調整しました。新しいコンテンツが導入されない場合、公式ブログ投稿は投稿されません。 IT Home からのメモ: サーバー ブランドは更新されておらず、プレビュー バージョンではまだ Windows Server 2022 です。さらに、Microsoft では、これらのバージョンを、すでに市場に出ている Windows バージョンではなく、Windows Server vNext と呼んでいます。

Ming Tide Fantasyland 難易度 3 のレベルをクリアする方法を共有します。ミンチャオの多くの人が、このファンタジー ランドのレベル 3 を完了しています。このレベルは実際には少し難しいです。多くの友人はまだ何をすればよいかわかりませんが、心配しないでください。編集者がそれを持ってきます。戦略が載っているので、ぜひ試してみてください。 Ringing Tide Fantasy 難易度 3 をクリアするにはどうすればよいですか? ベルタートル キャラクターの共鳴スキルを強化すると、空力効果が向上します。これにより、攻撃効率が向上し、ダメージが大きくなります。エフェクトの差し替えも可能です。 [メタファー] 最初の 3 つのレベルから選択します: 森の太陽: Ji Yan のダメージを大幅に増加させることができ、スキルをより多く使用すると、非常に優れたクリティカル ヒット効果を生み出すことができます。保護装置: 共振技術を使用

まだ完成していない GNOME 3 はもちろん、Ubuntu Server 11.04 をインストールするときにグラフィカル インターフェイスをインストールする必要もないと思われる場合は、 。または、ARCH+GNOME3 でビルドする必要があります。したがって、これ以上読んで時間を無駄にしないでください。 2泊1日かかり、N回再インストールしました。ついに何かが生まれました。簡単ではない。早速、本題に入りましょう: ハードウェア: ThinkPad 1 台(X61 の場合) 2. ブート オプション インターフェイスに入り、USB ブートを選択し、Ubu のインストールを選択します。

IT House は 3 月 14 日、デスクトップ向けの Windows 11 Build 26080 プレビュー アップデートに加えて、Microsoft が Windows Server Build 26080 プレビュー アップデートもアップデートして開始したと報じました。次期 Windows Server Long Term Servicing Channel (LTSC) の最新プレビュー バージョンとして、Windows Server Build 26080 は Data Center Edition と Standard Edition を提供し、ユーザーはデスクトップ エクスペリエンスと Server Core インストール オプションを選択できます。このリリースには、コンテナー ホスト用の年次チャネルと、仮想マシン評価専用の Azure リリースも含まれています。 IT House は、X ソーシャル メディアにクエリを実行します。ユーザー フィードバックは、右下隅にある [Copilot] ボタンをクリックします。
