7. 7
Qlik Replicate for Windows
Qlik Replicate for Windows
• Qlik ReplicateサーバーマシンにWindows 用Microsoft ODBC Driver 17.6をインストールし、接続を確認します。
• ドライバーについては以下をご参照下さい:
Microsoft ODBC Driver for SQL Server on Windows のリリース ノート
インストール 接続確認:ODBCデータソースアドミニストレータ(64bit)
8. 8
Qlik Replicate for Linux
Qlik Replicate for Linux
• Qlik Replicateサーバー マシンに Linux 用のMicrosoft ODBC Driver 17.6をインストールし、接続を確認します。
• ドライバーについては以下をご参照下さい:
Microsoft ODBC Driver for SQL Server をインストールする (Linux)
sqlcmd -S <remoteip> -U <user> -p -Q "SELECT @@VERSION“
Password:
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
Sep 24 2019 13:48:23
Copyright (C) 2019 Microsoft Corporation
Enterprise Evaluation Edition (64-bit) on Windows Server 2019 Standard 10.0
<X64> (Build 17763: ) (Hypervisor)
(1 rows affected)
インストール 接続確認 (sqlcmdで接続確認が可能)
9. 9
繋がらない場合の確認事項
• Microsoft SQL Serverの構成マネージャー上で、TCP/IPのプロトコルが有効化されていることを確認 (必要に応じてSQL
Server Browerのサービスを有効化・開始)
• Microsoft SQL Serverが動作するサーバーのファイアウォールポートでTCP1433(既定)が開放されていることを確認(SQL
Server Browserを利用する場合にはUDP1434も開放)
20. 20
必要なアクセス許可
Qlik レプリケートタスクで Microsoft SQL Server ソースを使用するには、次のいずれかの方法で、SQL Serverエンドポイ
ントの接続設定で指定するユーザーに権限を付与します:
① db_ownerデータベースロールとsysAdmin固定サーバーロールの両方のメンバーとする方法
② db_ownerデータベースロールのメンバーとするが、sysAdmin固定サーバーロールのメンバーとしない方法。この場合に
は追加の手順が必要となりますので、設定方法については別紙「Microsoft SQL Serverソースエンドポイント-スタン
ドアロン環境での非sysadminユーザーのセットアップ」資料および、Setting up a non-sysadmin user in a
standalone environmentをご参照ください。
※ AlwaysOn 環境で sysadmin 以外のユーザーをセットアップする場合は、AlwaysOn 可用性グループを使用する
際の sysadmin 以外のユーザーのセットアップを参照してください。
24. 24
高度な接続プロパティの設定
[詳細設定] タブでは、次のプロパティを設定できます。
• Prevent truncation of unread changes from TLOG:
最適なパフォーマンスを得るために、Qlik Replicateは、アクティブなトランザクション ログ (TLOG) から未読のすべての変更をキャプチャしようとします。
ただし、切り捨てが原因で、アクティブな TLOG に未読の変更がすべて含まれていない場合があります。この場合、Qlik Replicateはバックアップログに
アクセスして、不足している変更をキャプチャします。
バックアップ ログにアクセスする必要性を最小限に抑えるために、Qlik Replicateは次のいずれかの方法を使用して切り捨てを防ぎます。
① Start transactions in the database:
② Exclusively use sp_repldone within a single task
25. 25
高度な接続プロパティの設定
• Start transactions in the database:
これは既定の方法です。この方法を使用すると、Qlik Replicateはデータベース内のトランザクションを模倣して TLOG の切り捨てを防ぎます。
トランザクションがオープンである限り、トランザクションの開始後に表示される変更は切り捨てられません。
データベースで Microsoftレプリケーションを有効にする必要がある場合は、この方法を選択する必要があります。
※ このメソッドでは、Microsoft SQL Server アクティブなトランザクション ログの切り捨てを有効にするために、Log Reader Agentを実行す
る必要があります。 Log Reader Agentが実行されていない場合、アクティブなログがいっぱいになり、問題が解決されるまでソース データベ
ースが基本的に "読み取り専用" になる可能性があります。
※ このオプションを選択すると、レプリケートによってソース データベースにattrep_truncation_safeguardという名前が付けられたテーブル
が作成されます。これは、データベース内のトランザクションを模倣してトランザクション ログの切り捨てを防ぐことを目的とする、非常に小さいで
すが重要なテーブルです。メンテナンスジョブが失敗する可能性があるため、表がメンテナンスプランに含まれていないことを確認してください。
[Start transactions in the database] オプションを使用して構成されたタスクがない場合、テーブルを安全に削除できます。
26. 26
高度な接続プロパティの設定
• Exclusively use sp_repldone within a single task:
Qlik Replicateは変更を読み取り、 sp_repldoneを使ってTLOG トランザクションを切り捨て準備完了としてマークします。
このメソッドにはトランザクションアクティビティは含まれませんが、Microsoft Replicationが実行されていない場合にのみ使用できます。
また、この方法を使用すると、Qlik Replicateタスクは、いつでも1つの Qlik Replicate タスクしかデータベースにアクセスできません。したがって、同
じデータベースに対してQlik レプリケートタスクを並列実行する必要がある場合は、既定の方法を使用します。
※ この方法では、データベースでLog Reader Agentを停止する必要があります。タスクの開始時にLog Reader Agentが実行されている場
合、Qlik Replicateは強制的に停止します。または、Qlik Replicateタスクを開始する前に、手動でLog Reader Agentを停止すること
もできます。この操作の手順については、マイクロソフト SQL Server 管理スタジオのヘルプを参照してください。
※ MS-CDC でこのメソッドを使用する場合は、CDC Capture ジョブと CDC Cleanup ジョブを停止し、無効にする必要があります。
※ レプリケートはリモート コンピューターにアクセスできないので、Microsoft SQL Server ReplicationジョブがリモートのDistributorマシン上
にある場合、この方法は使用できません。
• Apply TLOG truncation prevention policy every (seconds): 上記のいずれかの方法を使用して TLOG の切り捨てを防ぐ頻度を指定
します。ポリシーの頻度を決定する際に考慮すべき要素には、ストレージの可用性、バックアップとログのルーチン、および Qlik Replicateがイベントを処理
する頻度などがあります。
※ [Exclusively use sp_repldone within a single task ] オプションも選択されている場合、非常に短い間隔 (たとえば 1) を設定す
ると、タスクの処理に悪影響を及ぼし、エラーが発生する可能性があります。
38. 38
同種レプリケーション
• Microsoft SQL Server ソースからターゲットにレプリケートする場合、ソースとターゲットのデータ型の大部分は同一になります。
※ 同種レプリケーションでは、ソース データは最初にQlik Replicateデータ型を通過するため、その種類の制限が適用されます。
• データ型のレプリケートとその制限 (関連する場合) については、「データ型のレプリケート」を参照してください。
• Microsoft SQL Server からレプリケートするときにソースデータが通過するレプリケート データ型については、Qlik Replicateの
データ型へのマッピング テーブルを参照してください。
※ XMLデータ・タイプを使用して列を複製する際にデータが切り捨てられないようにするために、タスク設定で「Allow unlimited
LOB size」オプションを有効にすることを強くお勧めします。
• さらに、同種レプリケーションでは、ソース列とテーブルの照合順序は、「列照合およびテーブル照合順序」で説明されているようにター
ゲットに複製されます。
39. 39
同種レプリケーションでのデータ型の例外
Microsoft SQL Server ソース Microsoft SQL Server ターゲット
DATETIME Microsoft SQL Server 2016より前のサポートされている
バージョン:
DATETIME
Microsoft SQL Server 2016以降:
DATETIME2
VARCHAR VARCHAR (x)
(when x=0 or x>8000)
else VARCHAR (max)
NVARCHAR (length) NVARCHAR (x)
(when x=0 or x>8000)
else NVARCHAR (max)
VARBINARY VARBINARY (x)
(when x=0 or x>8000)
else VARBINARY (max)
HIERARCHYID VARCHAR (x)
TIMESTAMP VARBINARY
ある Microsoft SQL Server データベースから別のデータベースにレプリケートする場合、ソースデータとターゲットデータ型は、サポート
されているすべてのバージョンの Microsoft SQL Server で同じになりますが、次の例外があります。
40. 40
同種レプリケーションでの列とテーブルの照合順序
ある Microsoft SQL Server データベースから別のSQL Serverにレプリケートする場合、列とテーブルの照合順序がターゲット
にレプリケートされます。
※ 照合順序のレプリケーションをサポートするには、DBA は、ソースの Microsoft SQL Server データベースに対して定義され
ている照合順序が、ターゲットの SQL Server データベースに対して定義されている照合順序と同じであることを確認する必
要があります。
Non-nullable列とプライマリ/一意インデックス名
プライマリ/一意のインデックス名は、同種レプリケーション時に保持されます。Non-nullable列は、次のデータ型を除き、同種レプリ
ケーション中も保持されます。
• text
• ntext1
• varchar(max)
• nvarchar(max)
• varbinary(max)
• image
• xml
48. 48
Microsoft ODBC Driverの導入
Qlik Replicate for Windows
• Qlik ReplicateサーバーマシンにWindows 用Microsoft ODBC Driver 17.6をインストールし、接続を確認します。
• ドライバーについては以下をご参照下さい:
Microsoft ODBC Driver for SQL Server on Windows のリリース ノート
Qlik Replicate for Linux
• Qlik Replicateサーバー マシンに Linux 用のMicrosoft ODBC Driver 17.6をインストールし、接続を確認します。
• ドライバーについては以下をご参照下さい:
Microsoft ODBC Driver for SQL Server をインストールする (Linux)
• Microsoft SQL Serverをソースとして利用する場合と同様、ターゲットと利用する場合でも以下のODBCドライバを導入します。
詳細については「 Microsoft SQL Serverのソースとしての利用」の項をご参照ください。