MongoからSQLへの移行ガイド
このガイドでは、MongoからSQLにデータベースを移行する方法について説明します。
注記
バージョン2024.2に移行してSQLを使用する予定の場合は、必ずバージョン2024.1でピットストップしてください。
必要条件
Alteryxライセンスポータルから移行パッケージをダウンロードします。このパッケージには、移行手順のパート4に必要なJSONファイルも含まれます。
MongoDBをバックアップします。手順については、Alteryx Server Backup and Recovery Part 2: Procedures(Alteryx Serverのバックアップとリカバリパート2: 手順)を参照してください。
重要
MongoDBからユーザー管理MSSQLに移行した場合、SQLは2024.1以前のバージョンではサポートされていないため、それ以前のリリースにダウングレードすることはできません。ユーザー管理SQL環境からダウングレードするには、まずSQLに移行する前に使用していたMongoDBの最後のバージョンに切り替える必要があります。
移行前にMongoDBのバックアップを作成している場合は、現在のSQLデータベースと切り替えることができます。これを行うには、Alteryxシステム設定で、コントローラーとServer UIの接続文字列を更新して、古いMongoDBを再度指定するようにします。バックアップの詳細については、Serverのバックアップとリカバリに関するこちらのナレッジ記事を参照してください。これを行うことにより、移行を行った時点のMongoDBに戻ることになります。SQLへの移行後に環境に加えられた変更は、古いMongoDBには反映されません。
MSSQL Serverのインスタンスがホストされていて、Alteryx Serverコントローラーからアクセスできるネットワークがあることが必要です。
現在、公式にサポートされているSQLのバージョンは、MSSQL Server 2019とMSSQL Server 2022のみです。
AlteryxGallery/AlteryxServiceからアクセスするには、別々のSQLデータベースを使用することをお勧めします。
データベースアクセスユーザーは、Alteryx Serverが必要とするデータベースを作成および使用するために、管理者権限を持っている必要があります。
SQL DBのサイズは、既存のMongoDBの2倍にすることをお勧めします。詳細は、Server SQL DBに関するお客様からのよくある質問を参照してください。
2024.1へアップグレードするServerのバージョンは、2022.1以上である必要があります。
2022.1より古いバージョンのServerを使用している場合は、まず2022.1、2022.3、2023.1、または2023.2にアップグレードし、そこから2024.1にアップグレードすることをお勧めします。
ビルトイン認証を使用していて、2022.1より前のバージョンからアップグレードする場合は、セキュリティの改善のためパスワードをリセットする必要があります。バージョン2022.1でパスワードをリセットしなかった場合は、SMTPを有効にする必要があります。これは、「パスワードをお忘れですか?」の機能を使用してユーザーがパスワードをリセットできるようにするため、または管理者がUIまたはAPIを使用してすべてのユーザーのパスワードリセットをトリガーできるようにするためです。2022.1へのアップグレード後にServerパスワードをリセットする方法の詳細については、「ユーザーのServerパスワードのリセット」ヘルプページを参照してください。
SQL Serverドライバーをインストールします。
Microsoftドライバーをダウンロードします。
詳細については、Microsoftサポートページを参照してください。
Simba MongoDB ODBCドライバーをインストールします。
Alteryxライセンスポータルにアクセスします。
[Drivers]の横にある[ダウンロード]を選択します。
[MongoDB]を選択します。
[次へ] > [ダウンロード] ([Simba MongoDB 2.3.22.1024 64-bit])を選択します。
ダウンロードの完了後にインストールします。
オプション:「SQL Server Management Studio」にアクセスします。これにより、データベースデータを手動で表示/アクセスできるため、Serverにアクセスしなくてもデータの状態を確認および検証できます。
セットアップ手順
始めに
以下の手順中、AlteryxGalleryデータベース名とAlteryxServiceデータベース名を入力しなければならないインスタンスが表示されます。これらは「AlteryxGallery」および「AlteryxService」として表示されます。「AlteryxGallery」や「AlteryxService」の代わりに、独自のデータベース名を入力することを選択できます。AlteryxGalleryはServer UIデータベースを指し、AlteryxServiceはコントローラーデータベースを指します。
Alteryx Server MigratorはAlteryx Serverが必要とするSQL Serverインスタンス内に、必要なデータベースとテーブルを自動的に作成します。シームレスなセットアップと適切なDB初期化を確実に行うために、データベースやテーブルを手動で作成するのではなく、この機能を利用することを強く推奨します。
パート1: 最新の2024.1 Alteryx Serverビルドをインストールする
Alteryxライセンスポータルから2024.1以降のAlteryx Serverビルドをダウンロードします。
永続性を変更せずに通常どおり2024.1へのアップグレードを続行します。
この時点では、SQLデータベースへの接続やMongoDBからMSSQLへの移行ワークフローの実行を試みないでください。これらの手順は、プロセスの後半で行います。
インストーラーを実行してインストールを完了します。
プロンプトが表示されたら、新しいビルドのライセンスキーを入力します。ライセンスプロンプトがすぐに表示されない場合は、Designerの[オプション] > [ライセンスを管理] > [新しいライセンスを有効化する]からライセンスプロンプトにアクセスできます。
SQL Serverではなく、Alteryxシステム設定を通常どおりに設定し、[Finish]を選択します。
AlteryxServiceを起動して、必要なMongoDBスキーマの新しいバージョンへの移行を完了します。そしてAlteryxServiceが期待どおりに実行されていることを確認します。
パート2: Alteryx Server Migratorを手動で実行する
SQL Serverインスタンスに必要なデータベースとテーブルを作成します。これを行うには、Windows PowerShellコマンドプロンプトを管理者として開き、次を実行します。SQL DBの接続文字列は後で必要になるので書き留めておきます。[太字の赤いテキスト]
を、SQLインスタンスの詳細からの独自の接続文字列値を使用して置き換えます(括弧は文字列のこれらの部分に必要ありません)。
これらの接続文字列をフォーマットする方法については、SQL DBの高度な接続文字列を参照してください。コントローラーの接続文字列は、Server UIの接続文字列とは異なります。
If you’re using SQL Server authentication, run the following command:
. "C:\Program Files\Alteryx\bin\AlteryxServerMigrator.exe" --logfolder "C:\ProgramData\Alteryx\Service" --serversqldbconnectionstring "[Insert Server UI Connection String]" --servicesqldbconnectionstring "[Insert Controller Connection String]"
パート3: AlteryxServiceをオフにする
タスクマネジャーで、コントローラー、Server UIノード、ワーカーノードを含む環境内のすべてのノードでAlteryxServiceの実行を停止します。
MongoDBが実行されていることを確認します。
a. ユーザー管理MongoDBからSQLに移行する場合は、手順2bをスキップしてパート4に進みます。
b. 組み込みのMongoDBからSQLに移行する場合は、以下の追加手順に従って、AlteryxServiceを実行せずに組み込みのMongoDBインスタンスを手動で起動します。
Windows PowerShellを管理者として開きます。
次のスクリプトを実行して、(C:\Program Alteryx Files\Mongo\bin\)をインストール場所に置き換え、(C:\ProgramData\Alteryx\Service\Persistence\MongoDB)をMongoDB永続性の場所に置き換えます。
.“C:\Program Files\Alteryx\bin\mongod.exe” -dbpath “C:/ProgramData/Alteryx/Service/Persistence/MongoDB” -port 27018 --auth --bind_ip_all
DBをMongoからSQLに移行する
パート4: MongoDB用のODBCシステムDSNを作成する
重要
組み込みのMongoDBを使用している場合は、AlteryxServiceデータベースとAlteryxGalleryデータベースを別々のServerでホストするか、別の資格情報を使用します。次に、両方のデータベースに対して次の手順(1-13)を実行します。
ODBCデータソース(64ビット)の検索を開始するには、Windowsアイコンを選択するか、Windowsキーを押します。
ODBCデータソースアドミニストレーターを開きます。
[システムDSN]タブを選択し、[追加...]を選択します。
[データソースの新規作成]ウィンドウで、[Simba MongoDB ODBCドライバー]を選択し、次に[完了]を選択します。
[Simba MongoDB ODBCドライバーDSNセットアップ]ウィンドウで、次のプロンプトを入力します。
a. データソース名: {独自のデータソース名を選択}
たとえば、Mongo_AlteryxServiceまたはMongo_AlteryxGallery。この名前は、DCMでこのDSN接続を識別するために後で必要になります。
このデータソース名は、該当する場合は、パート7の手順3aのAlteryxService用とパート8の手順3aのAlteryxGallery用で、DCMでこのDSN接続を識別するために後で必要になります。
b. 説明: {独自の説明を選択}
たとえば、Mongo_AlteryxServiceまたはMongo_AlteryxGallery。
c. Server: {ServerのIPアドレス}
Alteryx Serverが実行されているマシン上の場合は、localhostを使用します。
Alteryxシステム設定で特定のホストIPアドレスを確認するには、次の場所に移動します。
AlteryxServiceの設定: [Controller] (コントローラー)> [Persistence](永続性)> [Database](データベース) > [Host](ホスト)
AlteryxGalleryの設定: [Server UI] > [Persistence] (永続性)> [Web Persistence ] (Webの永続性) > [Host](ホスト)
d. ポート: {MongoDBのポート}
AlteryxServerポートは既定で27018に設定されています。
Alteryxシステム設定で特定のポート番号を確認するには、次の場所に移動します。
AlteryxServiceの設定: [Controller] (コントローラー)> [Persistence](永続性)> [Database](データベース) > [Host](ホスト)
AlteryxGalleryの設定: [Server UI] > [Persistence](永続性) > [Web Persistence](Webの永続性) > [Host](ホスト)
e. データベース: [AlteryxService]または[AlteryxGallery]
f. メカニズム: SCRAM-SHA-256
g. 認証ソース: [AlteryxService]または[AlteryxGallery]
h. ユーザー名: ユーザー
I.パスワード: {パスワード}
Alteryxシステム設定で特定の管理者パスワードを確認するには、次の場所に移動します。
AlteryxServiceの設定: [Controller](コントローラー) > [Persistence](永続性) > [Database](データベース) > [Password](パスワード)
AlteryxGalleryの設定: [Server UI] > [Persistence](永続性) > [Web Persistence](Webの永続性) > [Password](パスワード)
AlteryxService用のSimba MongoDB ODBCドライバーDSN設定。
必要に応じて、AlteryxGallery用(2番目のDSN)の設定の上部。認証ソースはAlteryxGalleryです。
接続をテストして正常に動作することを確認するには、Simba MongoDB ODBCドライバーDSN Setupウィンドウの下部にある[Test…](テスト)を選択します。次に、テスト結果ウィンドウで[OK]を選択して閉じます。
[Schema Editor…](スキーマエディター)を選択します。
Schema Editorウィンドウで、[Modify Local Schema Definition](ローカルスキーマ定義の変更)を選択します。
MongoDB to MSSQL_Migrator.yxzpワークフローに付随するMongoDB_Schema.jsonというファイルを選択します。このファイルは、MongoDB to MSSQL_Migrator.yxzpパッケージを展開したリソースフォルダーにあるはずです。ファイルを開きます。次に、[Connect]を選択します。
重要
Mongoデータベース名をAlteryxGalleryとAlteryxService以外に変更した場合は、スキーマエディターでファイルを開く前にMongoDB_Schema.jsonファイルを編集する必要があります。
これを行うには、テキストエディターでMongoDB_Schema.jsonファイルを開き、AlteryxGalleryとAlteryxServiceを検索して名前を置き換え、MongoDB_Schema.jsonファイルの変更を保存します。
スキーマエディターで、[ファイル] > [Publish Schema Map](スキーママップの公開)を選択します。これにより、スキーマがデータベースに保存され、ODBCドライバーが新しくマップされたテーブルを参照できるようになります。
スキーママップが正常にロードされたら、[OK]を選択します。
スキーマエディターを閉じます。
Simba MongoDB ODBC Driver DSN Setupウィンドウで、[Advanced Options…](詳細オプション)を選択します。
[Binary Column Size]の値を2147483647に変更します。[OK]を選択します。
Simba MongoDB ODBC Driver DSN Setupウィンドウで[OK]を選択します。
ODBCデータソースアドミニストレーターを開いたままにします。
AlteryxServiceデータベースとAlteryxGalleryデータベースに個別のMongoDBを使用している場合、または組み込みのMongoDBを使用している場合は、手順3-15を繰り返します。
完了したら、[OK]を選択します。
パート5: MSSQL用のODBCシステムDSNを作成する
重要
AlteryxServiceとAlteryxGallery用に別のデータベースを構成する場合は、両方のデータベースについて次の手順(1-9)を実行します。
[ODBCデータソースアドミニストレーター(64ビット)]ウィンドウに移動します。[システムDSN]タブを選択し、[追加...]を選択します。
[ODBC Driver 17 for SQL Server]を選択し、[完了]を選択します。
[Microsoft SQL Server用のDSNの設定]で、次のプロンプトを入力します。
a. 名前: {独自のデータソース名を選択}
たとえば、MSSQL_AlteryxService_Local。
この名前は、パート9の手順3aのDCMでこのDSN接続を識別するために後で必要になります。
b. 説明: {独自の説明を選択}
たとえば、MSSQL_AlteryxService_Local。
c. Server: {ServerのIPアドレス}
SQL Serverが実行されているマシン上の場合は、localhostを使用します。
次へ を選択します。
「How should SQL Server verify the authenticity of the login ID?(SQL Serverが、ログインIDの権限の確認を行う方法を指定します」画面:
SQL Server認証を使用している場合は、[With SQL Server authentication using a login ID and password entered by the user](ユーザーが入力するSQL Server用のログインIDとパスワードを使う)を選択します。
ログインID: {ユーザーID}
パスワード: {パスワード}
KerberosまたはWinAuthを使用している場合は、[With Integrated Windows authentication](統合Windows認証を使う)を選択します。
[次へ]>[完了]を選択します。
ODBC Microsoft SQL Serverセットアップで、[Test Data Source...](データソースのテスト)を選択します。
SQL Server ODBCデータソーステストで接続が成功したことを確認した後、[OK]を選択します。
ODBC Microsoft SQL Serverセットアップで、[OK]を選択します。
AlteryxGallery用に別のMSSQL Serverがある場合は、手順1-9を繰り返します。
パート6: 移行ユーティリティのYXZPファイルを開く
注記
コントローラーがインストールされているマシンでDesigner移行ワークフローを実行することを推奨します。エラーが発生し、Migratorを再度実行する必要がある場合は、新しく作成したテーブルのレコードを削除してからワークフローを再度実行します。
ライセンスポータルからダウンロードしたMongoDB to MSSQL_Migrator.yxzpワークフローの移行パッケージを見つけます。
YXZPファイルをダブルクリックし、プロンプトに従ってDesignerでワークフローを開きます。
ワークフローでは、更新するマクロがあります。マクロを選択します。
重要
マクロを初めてクリックすると、ワークフローを実行する前に、結果ウィンドウにエラー「選択した接続は使用できません。ツールを使用するには接続を設定してください」が表示されることがあります。このエラーは、ワークフローをセットアップして実行した後に解決されるため無視できます。
パート7: AlteryxService MongoDBのDCM接続を作成する
[Choose DCM Connection for MongoDB Controller Persistence (AlteryxService)](MongoDBコントローラー永続性のDCM接続を選択する(AlteryxService)で、[Set Up a Connection](接続を設定する)を選択します。組み込みのMongoDBを使用している場合は、AlteryxServiceデータベースとAlteryxGalleryデータベースを別々のServerでホストするか、別の資格情報を使用します。その場合、このMongoDB接続はAlteryxService用となり、AlteryxGallery MongoDB用の接続はパート8で作成します。AlteryxServiceとAlteryxGalleryを同じデータベースでホストしている場合は、これがセットアップする唯一のMongoDB接続となります。
[接続マネージャー]ウィンドウで、[+新規]を選択します。
[新しいデータソース]で、次の情報を入力します。
a. データソース名: パート4、手順5aで入力したMongo AlteryxServiceデータソース名を入力します。
b. ODBC DSN: パート4で作成した[MongoDB AlteryxService ODBC DSN]を選択します。
[保存]を選択します。
[資格情報の接続] を選択します。
a. 認証方法: MongoDBユーザー名とパスワード
b. 資格情報: 新しい資格情報の作成
c. 資格情報名: 任意の名前
例: MongoDB_AlteryxService_Local
d. 保管庫: DCM
e. ユーザー名: ユーザー
f. パスワード: {your_password}
Alteryxシステム設定で特定の管理者パスワードを確認するには、AlteryxService設定: [Controller] (コントローラー)> [Persistence](永続性) > [Database](データベース) > [Password](パスワード)に移動します。
g. 認証メカニズム: SCRAM-SHA-256
h. 認証ソース: AlteryxService
i. SDKへの接続を許可: オフ
[接続テスト]を選択します。接続テストに成功した場合は、[作成/リンク]を選択します。
AlteryxServiceとAlteryxGalleryを同じデータベースでホストしている場合は、[Use different DCM Connection for MongoDB Web Persistence (AlteryxGallery)](別のDCM接続をMongoDBウェブ永続性で使用する(AlteryxGallery)) のボックスをオフにして、パート9に進みます。
AlteryxServiceとAlteryxGalleryを別々のデータベースでホストしている場合は、パート8に進みます。
パート8: AlteryxGallery MongoDBのDCM接続を作成する
[Use different DCM Connection for MongoDB Web Persistence (AlteryxGallery)](別のDCM接続をMongoDBウェブ永続性で使用する)のチェックボックスを選択します。[接続を設定します]を選択します。
[接続マネージャー]ウィンドウで、[+新規]を選択します。
[新しいデータソース]で、次の情報を入力します。
[保存]を選択します。
[資格情報の接続] を選択します。
a. 認証方法: MongoDBユーザー名とパスワード
b. 資格情報: 新しい資格情報の作成
c. 資格情報名: 任意の名前
例: MongoDB_AlteryxGallery_Local
d. 保管庫: DCM
e. ユーザー名: ユーザー
f. パスワード: {your_password}
Alteryxシステム設定で特定の管理者パスワードを確認するには、AlteryxGallery設定: [Server UI] > [Persistence](永続性) > [Web Persistence](Webの永続性) > [Password](パスワード)に移動します。
g. 認証メカニズム: SCRAM-SHA-256
h. 認証ソース: AlteryxGallery
i. SDKへの接続を許可: オフ
[接続テスト]を選択します。接続テストに成功した場合は、[作成/リンク]を選択します。
パート9: MSSQLのDCM接続を作成する
重要
別のAlteryxGallery SQL DBを使用している場合は、この部分を2回(AlteryxService用に1回、AlteryxGallery用に1回)実行します。
[Choose DCM Connection for MSSQL DB Controller Persistence (AlteryxService)](MSSQL DBコントローラー永続性のDCM接続を選択)で、[接続を設定します]を選択します。
[接続マネージャー]ウィンドウで、[+新規]を選択します。
[新しいデータソース]で、次の情報を入力します。
[保存]を選択します。
[資格情報の接続] を選択します。
SQL Server認証を使用する場合:
a. 認証方法: ユーザー名とパスワード
b. 資格情報: 新しい資格情報の作成
c. 資格情報名: 任意の名前
例: MSSQL_AlteryxService_Local
d. 保管庫: DCM
e. ユーザー名: {username}
f. パスワード: {パスワード}
KerberosとWinAuthを使用する場合:
認証方法: 資格情報なし
[接続テスト]を選択します。接続テストに成功した場合は、[作成/リンク]を選択します。
別のAlteryxGallery SQLデータベースがない場合は、パート11に進みます。
別のAlteryxGallery SQLデータベースがある場合は、[Use different DCM Connection for MSSQL Web Persistence (AlteryxGallery)](別のDCM接続をMSSQLウェブ永続性のために使用する)チェックボックスを選択します。
[接続を設定します]を選択し、AlteryxServiceの代わりにAlteryxGallery情報を使用して手順2-5を繰り返します。
パート10(オプション): 非標準名を使用している場合にデータベース名を更新する
MongoDBまたはMSSQL AlteryxGalleryとAlteryxServiceデータベースの名前が「AlteryxService」および「AlteryxGallery」と正確に同じでない場合は、このパートを続行します。そうでない場合は、パート11に進みます。
次のデータベース名に実際のデータベース名を入力します。
MongoDBコントローラー永続性DB名
MSSQLコントローラー永続性DB名
MongoDBウェブ永続性DB名
MSSQL Web永続性DB名

パート11: MongoDB to MSSQL_Migratorワークフローを実行する
Designerで、[実行]を選択して、[MongoDB to MSSQL_Migrator.yxmd]を実行します。
このワークフローの実行中に、警告が1つ表示されます。これを選択すると、結果ウィンドウに移行プロセス全体の進行状況が表示されます。
ワークフローの実行が完了すると、移行されたレコード数が表示されます。これらのファイルはまたローカルフォルダーにも保存され、それらを取り出すことができます。
実行が完了したら、実行中にエラーが発生したかどうかを結果ウィンドウで確認します。結果ウィンドウにエラーがある場合は、エラーをコピーしてサポート担当者に送信します。
移行のトラブルシューティング、Migratorの再実行、元のMongoDBへの復帰の詳細については、Server SQLに関するお客様からのよくある質問を参照してください。
移行が正常に完了すると、結果ウィンドウに0個のエラーが表示され、ログにはすべてのレコードがMongoDBからMSSQLに転送されたことが示され、パート12に進むことができます。
パート12: Alteryxシステム設定の設定
MongoDBからSQL DBへのデータ移行が完了したら、Alteryxシステム設定の永続性情報を古いMongoDBから新しいSQL DBに変更します。
重要
コントローラーの接続文字列は、Server UIの接続文字列とは異なります。
[システム設定]を開き、次の変更点を除いて通常どおりに設定します。
[Environment] (環境)> [Setup Type](設定タイプ):
単一インスタンスのインストールには[Complete Alteryx Server] (Alteryx Server全体)を選択します。
マルチノードインストールの場合は[Custom](カスタム)を選択します。
[Controller](コントローラー) > [Persistence](永続性):
[Database Type(データベースタイプ): [User-Managed SQL DB](ユーザー管理SQL DB)を選択します。
[Database](データベース)> [SQL Connection](SQL接続)。SQLインスタンスの詳細から、独自のコントローラー接続文字列値を入力します。
これらの接続文字列をフォーマットする方法の詳細については、SQL DBの高度な接続文字列を参照してください。Server UI接続文字列とコントローラー接続文字列の形式が異なることに注意してください。
[Server UI] > [Persistence](永続性)
Database Type(データベースタイプ): [User-managed SQL DB](ユーザー管理SQL DB)を選択します。
[Web Persistence](Web永続性) > [SQL Connection](SQL 接続): SQLインスタンスの詳細から独自のServer UI接続文字列値を入力します。
これらの接続文字列をフォーマットする方法の詳細については、SQL DBの高度な接続文字列を参照してください。Server UI接続文字列とコントローラー接続文字列の形式が異なることに注意してください。
Alteryxシステム設定の設定を完了するには、[Next](次へ)/[Done](終了)を選択します。
これで、移行が完了し、SQL DBがServerで使用できる状態になりました。Serverを開きます。
この時点でMongoDB Serverをシャットダウンできます。実行したままにしておいても、Alteryxサービスには影響しません。ただし、実行を維持するために必要なローカルリソースは使用されます。
注記
KerberosとWinAuthを使用している場合: ローカルシステムアカウントで実行するように設定されていると、AlteryxServiceは起動しません。これを解決するには、ドメインアカウントでAlteryxServiceを実行します。