Non-SQL Server SubscribersNon-SQL Server Subscribers

適用対象: はいSQL Server いいえAzure SQL Database いいえAzure Synapse Analytics (SQL DW) いいえParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

以下の SQL ServerSQL Server 以外のサブスクライバーでは、プッシュ サブスクリプションを使用することで、スナップショット パブリケーションおよびトランザクション パブリケーションにサブスクライブできます。The following non- SQL ServerSQL Server Subscribers can subscribe to snapshot and transactional publications using push subscriptions. 以下に示す 2 つのデータベースの最新バージョンでは、OLE DB プロバイダーを使用したサブスクリプションがサポートされています。Subscriptions are supported for the two most recent versions of each database listed using the most recent version of the OLE DB provider listed.

SQL Server 以外のサブスクライバーへの異種レプリケーションは非推奨とされます。Heterogeneous replication to non-SQL Server subscribers is deprecated. Oracle パブリッシングは非推奨とされます。Oracle Publishing is deprecated. データを移動するには、変更データ キャプチャと SSISSSISを使用してソリューションを作成します。To move data, create solutions using change data capture and SSISSSIS.

注意事項

この機能はメンテナンス モードであり、Microsoft SQL Server の将来のバージョンで削除される可能性があります。This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

データベースDatabase オペレーティング システムOperating System プロバイダーProvider
OracleOracle Oracle がサポートするすべてのプラットフォームAll platforms that Oracle supports Oracle OLE DB プロバイダー (Oracle によって提供されます)Oracle OLE DB provider (supplied by Oracle)
IBM DB2IBM DB2 MVS、AS400、Unix、Linux、Windows (9.x を除く)MVS, AS400, Unix, Linux, Windows excluding 9.x Microsoft Host Integration Server (HIS) OLE DB プロバイダーMicrosoft Host Integration Server (HIS) OLE DB provider

Oracle バージョン情報:Oracle version information:
SQL ServerSQL Server は、トランザクション レプリケーションとスナップショット レプリケーションに対する次の異種シナリオをサポートします。supports the following heterogeneous scenarios for transactional and snapshot replication:

  • SQL ServerSQL Server からSQL ServerSQL Server 以外のサブスクライバーへのデータのパブリッシュPublishing data from SQL ServerSQL Server to non-SQL ServerSQL Server Subscribers.

  • Oracle に対するデータのパブリッシュには次の制限があります。Publishing data to and from Oracle has the following restrictions:

レプリケーションReplication 2016 以前2016 or earlier 2017 以降2017 or later
Oracle からのレプリケーションReplication from Oracle Oracle 10g 以前のみをサポートOnly support Oracle 10g or earlier Oracle 10g 以前のみをサポートOnly support Oracle 10g or earlier
Oracle へのレプリケーションReplication to Oracle Oracle 12c までUp to Oracle 12c サポートされていませんNot supported
     

SQL Server 以外のサブスクライバーへの異種レプリケーションは非推奨とされます。Heterogeneous replication to non-SQL Server subscribers is deprecated. Oracle パブリッシングは非推奨とされます。Oracle Publishing is deprecated. データを移動するには、変更データ キャプチャと SSISSSISを使用してソリューションを作成します。To move data, create solutions using change data capture and SSISSSIS.

Oracle および IBM DB2, にサブスクリプションを作成する方法の詳細については、「 Oracle サブスクライバー 」および「 IBM DB2 Subscribersを使用してソリューションを作成します。For information about creating subscriptions to Oracle and IBM DB2, see Oracle Subscribers and IBM DB2 Subscribers.

SQL Server 以外のサブスクライバーに関する注意点Considerations for Non-SQL Server Subscribers

SQL ServerSQL Server 以外のサブスクライバーにレプリケートする場合は、以下の点に留意してください。Keep the following considerations in mind when replicating to non- SQL ServerSQL Server Subscribers:

一般的な考慮事項General Considerations

  • レプリケーションでは、テーブルとインデックス付きビューをテーブルとしてSQL ServerSQL Server 以外のサブスクライバーにパブリッシュする処理をサポートしています (インデックス付きビューは、インデックス付きビューとしてレプリケートすることはできません)。Replication supports publishing tables and indexed views as tables to non-SQL ServerSQL Server Subscribers (indexed views cannot be replicated as indexed views).

  • パブリケーションの新規作成ウィザードでパブリケーションを作成し、[パブリケーションのプロパティ] ダイアログ ボックスを使用して、これを SQL Server 以外のサブスクライバーに対して有効化する場合、SQL ServerSQL Server 以外のサブスクライバーに、サブスクリプション データベース内の全オブジェクトの所有者は指定されません。一方、MicrosoftMicrosoft SQL ServerSQL Server サブスクライバーには、パブリケーション データベース内の対応するオブジェクトの所有者が設定されます。When creating a publication in the New Publication Wizard and then enabling it for non-SQL Server Subscribers using the Publication Properties dialog box, the owner of all objects in the subscription database is not specified for non-SQL ServerSQL Server Subscribers, whereas for MicrosoftMicrosoft SQL ServerSQL Server Subscribers, it is set to the owner of the corresponding object in the publication database.

  • パブリケーションに SQL ServerSQL Server サブスクライバーと SQL ServerSQL Server 以外のサブスクライバーが含まれる場合、SQL ServerSQL Server サブスクライバーのサブスクリプションを作成する前に、SQL ServerSQL Server 以外のサブスクライバーに対してパブリケーションを有効化する必要があります。If a publication has SQL ServerSQL Server Subscribers and non-SQL ServerSQL Server Subscribers, the publication must be enabled for non-SQL ServerSQL Server Subscribers before any subscriptions to SQL ServerSQL Server Subscribers are created.

  • 既定では、スナップショット エージェントがSQL ServerSQL Server 以外のサブスクライバーに対して生成したスクリプトには、CREATE TABLE 構文に引用符なしの識別子が使用されます。By default, scripts generated by the Snapshot Agent for non-SQL ServerSQL Server Subscribers use non-quoted identifiers in the CREATE TABLE syntax. したがって、「test」という名前でパブリッシュされたテーブルは「TEST」としてレプリケートされます。Therefore, a published table named 'test' is replicated as 'TEST'. 大文字/小文字の指定をパブリケーション データベース内のテーブルと同一にするには、ディストリビューション エージェントの -QuotedIdentifier パラメーターを使用します。To use the same case as the table in the publication database, use the -QuotedIdentifier parameter for the Distribution Agent. パブリッシュされたオブジェクトの名前 (テーブル、列、制約など) に、スペースや、 以外のサブスクライバーのデータベースのバージョンでの予約語が含まれている場合は、 -QuotedIdentifierSQL ServerSQL Server パラメーターも使用する必要があります。The -QuotedIdentifier parameter must also be used if published object names (such as tables, columns, and constraints) include spaces or words that are reserved words in the version of the database at the non-SQL ServerSQL Server Subscriber. このパラメーターの詳細については、 レプリケーション ディストリビューション エージェント を参照してください。For more information about this parameter, see Replication Distribution Agent.

  • ディストリビューション エージェントを実行するアカウントには、OLE DB プロバイダーのインストール ディレクトリに対する読み取りアクセス権が必要です。The account under which the Distribution Agent runs must have read access to the install directory of the OLE DB provider.

  • 既定では、SQL ServerSQL Server 以外のサブスクライバーの場合、ディストリビューション エージェントは、サブスクリプション データベースに対して -SubscriberDB パラメーターで [(default destination)] の値を使用します。By default for non-SQL ServerSQL Server Subscribers, the Distribution Agent uses a value of [(default destination)] for the subscription database (the -SubscriberDB parameter for the Distribution Agent):

  • SQL ServerSQL Server ディストリビューターが 64 ビット プラットフォームで実行されている場合、該当する OLE DB プロバイダーの 64 ビット バージョンを使用する必要があります。If the SQL ServerSQL Server Distributor is running on a 64-bit platform, you must use the 64-bit version of the appropriate OLE DB provider.

  • レプリケーションでは、パブリッシャーおよびサブスクライバーで使用される照合順序やコード ページにかかわらず、データが Unicode 形式に変換されます。Replication moves data in Unicode format regardless of the collation/code pages used on the Publisher and Subscriber. パブリッシャーとサブスクライバーの間でレプリケートを行う場合は、互換性のある照合順序やコード ページを使用することをお勧めします。It is recommended that you choose a compatible collation/code page when replicating between Publishers and Subscribers.

  • アーティクルをパブリケーションに追加または削除する場合、SQL ServerSQL Server 以外のサブスクライバーのサブスクリプションは再初期化する必要があります。If an article is added to or deleted from a publication, subscriptions to non-SQL ServerSQL Server Subscribers must be reinitialized.

  • すべてのSQL ServerSQL Server 以外のサブスクライバーでサポートされる制約は、NULL および NOT NULL のみです。The only constraints supported for all non-SQL ServerSQL Server Subscribers are: NULL, and NOT NULL. 主キーの制約は一意なインデックスとしてレプリケートされます。Primary key constraints are replicated as unique indexes.

  • NULL 値の扱いはデータベースによって異なり、空白値、空の文字列、および NULL の表示方法に影響します。The value NULL is treated differently by different databases, which affects how a blank value, an empty string, and a NULL are represented. また、UNIQUE 制約が定義されている列に値を挿入する際の動作にも影響します。This in turn affects the behavior of values inserted into columns with unique constraints defined. たとえば、Oracle では一意な列に複数の NULL 値を挿入できますが、 SQL ServerSQL Server では一意な列に 1 つの NULL 値しか挿入できません。For example, Oracle allows multiple NULL values in a column that is considered unique, whereas SQL ServerSQL Server allows only a single NULL value in a unique column.

    他にも注意が必要なのは、列に対して NOT NULL が定義されている場合、NULL 値、空の文字列、および空白値がどのように扱われるかという点です。An additional factor is how NULL values, empty strings, and blank values are treated when the column is defined as NOT NULL. Oracle サブスクライバーでのこの問題の対処方法の詳細については、「 Oracle サブスクライバー」を参照してください。For information about addressing this issue for Oracle Subscribers, see Oracle Subscribers.

  • SQL ServerSQL Server 以外のサブスクライバーからサブスクリプションが削除されても、レプリケーション関連のメタデータ (トランザクション シーケンス テーブル) は削除されません。Replication-related metadata (transaction sequence table) is not deleted from non-SQL ServerSQL Server subscribers when the subscription is removed.

サブスクライバー データベースの要件への準拠Conforming to the Requirements of the Subscriber Database

  • パブリッシュされたスキーマおよびデータは、サブスクライバーのデータベース要件に準拠する必要があります。Published schema and data must conform to the requirements of the database at the Subscriber. たとえば、SQL ServerSQL Server 以外のデータベースの最大行サイズが SQL ServerSQL Serverよりも小さい場合、パブリッシュされるスキーマおよびデータがこのサイズを超えないようにする必要があります。For example, if a non-SQL ServerSQL Server database has a smaller maximum row size than SQL ServerSQL Server, you must ensure that the published schema and data do not exceed this size.

  • SQL ServerSQL Server 以外のサブスクライバーにレプリケートされたテーブルには、サブスクライバーのデータベースのテーブル名前付け規則が採用されます。Tables replicated to non-SQL ServerSQL Server Subscribers will adopt the table naming conventions of the database at the Subscriber.

  • DDL は、SQL Server 以外のサブスクライバーに対してはサポートされていません。DDL is not supported for non-SQL Server Subscribers. スキーマ変更の詳細については、「パブリケーション データベースでのスキーマの変更」を参照してください。For more information about schema changes, see Make Schema Changes on Publication Databases.

レプリケーション機能のサポートReplication Feature Support

  • SQL ServerSQL Server では、プッシュおよびプルの 2 種類のサブスクリプションがオファーされています。offers two types of subscriptions: push and pull. SQL ServerSQL Server 以外のサブスクライバーはプッシュ サブスクリプションを使用する必要があります。このサブスクリプションでは、 SQL ServerSQL Server ディストリビューターでディストリビューション エージェントが実行されます。Non-SQL ServerSQL Server Subscribers must use push subscriptions, in which the Distribution Agent runs at the SQL ServerSQL Server Distributor.

  • SQL ServerSQL Server には、ネイティブ bcp モードとキャラクター モードの 2 種類のスナップショット形式が用意されています。offers two snapshot formats: native bcp-mode and character-mode. SQL ServerSQL Server 以外のサブスクライバーでは、キャラクター モードのスナップショットを使用する必要があります。Non-SQL ServerSQL Server Subscribers require character mode snapshots.

  • SQL ServerSQL Server 以外のサブスクライバーは、即時更新サブスクリプションおよびキュー更新サブスクリプションを使用できません。また、ピア ツー ピア トポロジのノードになることもできません。Non-SQL ServerSQL Server Subscribers cannot use immediate updating or queued updating subscriptions, or be nodes in a peer-to-peer topology.

  • SQL ServerSQL Server 以外のサブスクライバーをバックアップから自動的に初期化することはできません。Non-SQL ServerSQL Server Subscribers cannot be automatically initialized from a backup.

参照See Also

異種データベース レプリケーション Heterogeneous Database Replication
パブリケーションのサブスクライブSubscribe to Publications