クローン - よく寄せられる質問 (FAQ)Description注意:ご意見やご質問がありましたら、こちらの「クローン - よく寄せられる質問 - FAQ」ブログにコメントを残してください。 この記事の目的は、クローンに関して ServiceNow テクニカルサポートによく寄せられる一般的な要求/質問に回答することです。フォローアップの質問がある場合は、テクニカルサポートにお問い合わせください。 注意:クローン実行後に添付ファイルがなくなるという問題が発生している場合、既知の問題が原因です。この問題は 2018 年 12 月に修正され、設計どおりに機能しています。 注意:付属の XML ファイル (cloneFAQ.xml) をインスタンスにインポートすると、インスタンスにモジュールリンクが作成されます。このリンクはクローンの下に表示され、クローンに関する最新情報を示すこの FAQ ページにリダイレクトされます。 注意:クローンフォームのリンクを使用してクローンをキャンセルできないという問題が発生しています。これは、フォームにフィールドが表示されず、フォームがカスタマイズされていることが原因です。詳細については、「クローンをロールバックできますか?」セクションで、この問題を修正して機能させる方法を参照してください。 目次 FAQクローンはどのように機能しますか?クローンをロールバックできますか?監査とログデータのオプションをオンにすると、他のデータが除外されるのはなぜですか?クローンのすべてのオプションにはどのような機能がありますか?London 以降特定の日付からクローンを作成できますか?クローン実行前にバックアップを取ることを要求できますか?インスタンスで利用可能なバックアップをどのように判断できますか?クローンが失敗し、「クローンの担当ノードがオフラインです (Node in charge of the clone is offline)」というメッセージが表示されましたクローンが失敗し、ターゲットとしてのデモまたは POV インスタンスに対してクローン上で「有効な容量マッピングのためのクローンのプリフライトチェックに失敗しました (The clone pre-flight check for valid capacity mapping has failed)」というメッセージが表示されましたクローン実行後にログインできないのはなぜですか?エクスクルーダーはどのように機能しますか?プリザーバーはどのように機能しますか?クローンクリーンアップスクリプトはどのように機能しますか?インスタンスごとにクリーンアップスクリプトを設定できますか?クローン実行後に、コメント/更新がすべて異なるユーザーや時間で表示されます。なぜですか?ドラフトとは何ですか?なぜ削除できないのですか?クローンが「保留中」である理由は何ですか?ATF ジョブを保持するにはどうすればよいですか?インスタンスの名前を変更したら、新しいクローンターゲットを作成できなくなりました完全なクローンを作成する方法は?別のインスタンスにクローンを作成すると、リリースが変更されますか?「クローンの担当ノードがオフラインです (Node in charge of the clone is Offline)」スタンバイデータベースとソースインスタンスの違いは何ですか?ユーザー、ロール、グループを除外および保持する方法は?クローン作成後にテキスト検索が実行されないのはなぜですか?クローン作成後に添付ファイルが見つからないのはなぜですか?ターゲットインスタンスのプラグインを保持できますか?レコードを保持する場合、添付ファイルも保持する必要がありますか?本番インスタンスではクローンを実行できますか?また、その方法は?除外すべきでないのはどのテーブルですか?特定のテーブルを除外しましたが、クローン作成後もデータがまだ残っていますプリザーバーとエクスクルーダーを変更した場合、次回のクローン作成で変更がすぐに機能しますか?データを除外している場合でも、メールアカウントがターゲットにクローンされたのはなぜですか?除外オプションをオフにしましたが、クローン作成後もまだエクスクルーダーが実行されています既存のテーブルをプリザーバーに追加できませんクローンが失敗し、「ターゲットインスタンスがデモであるためクローンできません (Cannot clone since target instance is a demo)」というエラーが表示されました クローンはどのように機能しますか? クローン要求に応答して、ServiceNow プラットフォームは次のタスクを実行します。 ターゲットサーバー上の運用データを保持するためのファイルを生成します。 このファイルには、データプリザーバーによって保持されるデータが含まれています。 ターゲットインスタンスの新しいデータベースを作成します。データベーススキーマとデータを最新のバックアップから新しく作成されたデータベースに復元します。すべてのデータがコピーされた後、除外/プリザーバー機能が開始されます。除外オプションが選択されている場合 除外モジュールのテーブルが切り捨てられます (すべてのデータが消去されます)。 ステップ 1 でプリザーバー用に作成されたファイルがターゲットデータベースにロードされます (復元からのデータを上書き)。ターゲットデータベースでメール機能が無効になります。すべてが完了すると、ターゲットインスタンスは新しく作成されたデータベースに再ポイントされます。すべてのクローンクリーンアップスクリプトが、ターゲットインスタンスで実行されます。 すべてのテキストインデックスを再生成します。スケジュール設定済みジョブノードの関連付けをクリアします。 クローンが完了し、お客様はインスタンスにアクセスできます。クローンが完了した後、古いターゲットデータベースのバックアップが作成されます (最大 7 日間ロールバック可能)。バックアップが完了すると、古いターゲットデータベースは廃止されます。 クローンをロールバックできますか? クローン作成プロセスの後にデータベースのバックアップを取るため、クローンが実行されてから最大 7 日間はクローンをロールバックできます。 Madrid の前: ロールバックを要求するには、HI でケースを作成してクローンのロールバックを要求してください。 Madrid 以降: クローンが完了した後で、UI アクションの [クローンのロールバック (Rollback clone)] ボタンをクリックすると、テクニカルサポートがクローンをロールバックするために使用するのと同じ自動化を使用してクローンがロールバックされます。 何か問題が発生した場合、またはクローンのロールバックに関する説明を希望される場合は、お気軽にテクニカルサポートまでお問い合わせください。 注意: [クローンをキャンセル] リンクが機能しない、または応答しない場合は、リンクがフォーム上に存在しない [クラウドの詳細] フィールドに関連付けられています。このフィールドがフォームに追加されていない理由は、クローンフォームをカスタマイズする際にスキップされたためです。 問題を解決するには、クローンフォームに移動し、元のバージョンに戻してください。これにより、フォーム上の [クラウドの詳細] フィールドが有効になり、[クローンをキャンセル] リンクが機能するようになります。別のオプションとして、クローンフォームを設定し、フォームに [クラウドの詳細] フィールドを追加する方法もあります。 監査とログデータのオプションをオンにすると、他のデータが除外されるのはなぜですか? Kingston より前のリリースでは、[監査およびログデータを除外 (Exclude audit and log data)] 機能は監査およびログデータを除外するためだけのものではなく、この機能をオンにすると、除外モジュールのすべての除外が実行されます。Kingston 以降のリリースでは、[監査およびログデータを除外 (Exclude audit and log data)] は監査およびログデータを除外するためだけのものであり、除外モジュールからすべての除外を実行するには、[除外リストに指定されたテーブルを除外 (Exclude tables specified in Exclusion List)] という別のオプションがあります。 クローンのすべてのオプションにはどのような機能がありますか? London 以降 London では、[タスクテーブルからコピーされるデータ量 (Amount of data copied from the Task table)] という機能が追加されました。London のマニュアルの「クローンを要求」を参照してください。 フィールド説明除外リストに指定されたテーブルを除外 (Exclude tables specified in Exclusion List)[システムクローン] > [テーブルを除外 (Exclude Tables)] モジュールで指定されたソースインスタンスからレコードのクローンが作成されることを防止します。このオプションを使用して、ターゲットインスタンスに空の使用可能なテーブルを作成します。デフォルトでは、監査、ライセンス使用、ログ記録、および通知のテーブルは除外されます。このオプションはデフォルトで選択されています。 注意:このオプションは、従来のクローンエンジンではサポートされていません。 監査およびログデータを除外 (Exclude audit and log data)ソースインスタンスから監査およびログレコードのクローンが作成されることを防止します。このオプションを使用して、ターゲットインスタンスに空の使用可能な監査およびログテーブルを作成します。このオプションはデフォルトで選択されています。大きな添付データを除外 (Exclude large attachment data)ビデオファイル、画像ファイル、およびその他の一般的な大きなバイナリファイルタイプなどの大きな添付ファイルのクローンが作成されることを防止します。ファイルサイズに関係なく、すべての一般的なバイナリファイルタイプを除外します。選択すると、以下のすべての条件を満たす添付ファイル [sys_attachment] と添付ファイルドキュメント [sys_attachment_doc] テーブルからの添付ファイルもクローンから除外されます。 attachment table_name の値が小さいファイルであることを示していない。小さい添付ファイルには ZZ_ で始まるテーブル名の値が設定されている。添付ファイルのデータタイプの値が、アプリケーションやビデオなどの大きなファイルであることを示している。添付ファイルの table_name が、sys_certificate、ecc_agent_jar、ecc_agent_mib、sys_store_app、または invisible.sys_store_app のいずれのシステムテーブルでもない。 このオプションはデフォルトで選択されています。 タスクテーブルからコピーされるデータ量 (Amount of data copied from the Task table)ソースインスタンスのタスクテーブルからクローンするデータの量を選択します。デフォルトでは、ターゲットインスタンスはソースインスタンスから過去 90 日間のタスクテーブルレコードを受け取ります。テーマを保持 (Preserve theme)ターゲットインスタンスのテーマと CSS 要素のデータプリザーバーを有効にします。このオプションはデフォルトで選択されています。 特定の日付からクローンを作成できますか? クローン要求は、常にソースインスタンスの最新のバックアップを使用します。 最新のバックアップより古い日付のバックアップを使用する場合は、HI でバックアップ復元要求を行う必要があります。クローンを作成する前に新しいバックアップを作成する場合は、テクニカルサポートにバックアップリストへの追加を要求し、クローンプロセスの前に新しいバックアップを作成することができます (新しいバックアップの作成に時間がかかる場合があるため、クローン作成に必要な時間が増える可能性があります)。 クローン実行前にバックアップを取ることを要求できますか? クローンが開始される直前に新しいバックアップを取得する場合は、HI でケースを作成し、インスタンスをオンデマンドバックアップリストに追加して、クローンの直前にバックアップを取得します。 これにより、クローン作成時間が増加する可能性があります。バックアップに 6 時間かかる場合、クローンエンジンを実行する前にバックアップが完了するまで 6 時間待機する必要があります。 インスタンスで利用可能なバックアップをどのように判断できますか? Now Support (HI) から「インスタンスの利用可能なバックアップのリスト」を取得します。 Now Support (HI) にログインします。左側のナビゲーションで [Service Catalog] をクリックします。カタログメニューで [インスタンス管理] を選択します。[インスタンスのバックアップのリスト] タイルをクリックします。 クローンが失敗し、「クローンの担当ノードがオフラインです (Node in charge of the clone is offline)」というメッセージが表示されました このエラーメッセージは、インスタンスが新しいデータベースに再ポイントされ、ノードで健全性チェックが実行されたときに、オフラインになっていると表示されます。クローンは設計どおりに機能しているため、無視しても問題ありません。これは単なる健全性チェックのタイミングの問題です。 これは既知の問題です。「KB0689695: Node in charge of the clone generates an offline error message on the instance clone history」を参照してください。 クローンが失敗し、ターゲットとしてのデモまたは POV インスタンスに対してクローン上で「有効な容量マッピングのためのクローンのプリフライトチェックに失敗しました (The clone pre-flight check for valid capacity mapping has failed)」というメッセージが表示されました このエラーメッセージは、サイズを拡張できるように設定されていない、小さすぎるインスタンスのクローンを作成しようとすると表示されます。 デモインスタンスと POV インスタンスは特定のサイズまで拡張されるように構築されているため、ソースインスタンスも小さい場合はクローンを作成することができますが、特定のサイズまで拡張されると、デモインスタンスまたは POV インスタンスをクローンに使用することはできません。この場合、準本番インスタンス (サイズを拡張できる機能がある) のクローンを作成する必要があります。 また、デモインスタンスまたは POV インスタンスのサイズを拡張することはできないため、常に準本番インスタンスでのクローン作成を要求します。 クローン実行後にログインできないのはなぜですか? この問題は予想以上に頻繁に発生します。 インスタンスを介してクローンを作成すると、本番環境からもたらされる設定に SSO およびログイン機能が含まれることが原因で、アップグレード後に準本番インスタンスにログインできなくなる場合があります。 「KB0635905: The advantage of having a separate local login admin account when using SSO/LDAP」を参照してください。 この記事では、クローンのために限らず、常にログインできるローカルアカウントを持つことのメリットについて説明しています。 クローンでこの問題が発生しないようにするには、次の操作を実行します。 方法 1:ソースインスタンスでローカル管理者ユーザーを作成します。 ソースインスタンスでローカルパスワードを使用してローカル管理者ユーザーを作成します。準本番インスタンスでクローンを作成します。side_door.do を使用してインスタンスにログインしますが、その際、ステップ 1 のユーザー名とパスワードを使用します。 方法 2:ターゲットインスタンスでローカル管理者ユーザーを作成し、プリザーバーを含めます。 ターゲットインスタンスでローカルパスワードを使用してローカル管理者ユーザーを作成します。ユーザー (sys_user)、ユーザーロール (sys_user_has_roles)、およびユーザーグループ (sys_user_grmember) のクローンプリザーバーを作成します。準本番インスタンスでクローンを作成します。side_door.do を使用してインスタンスにログインしますが、その際、ステップ 1 のユーザー名とパスワードを使用します。 エクスクルーダーはどのように機能しますか? すべての除外設定をソースインスタンスで設定する必要があります。テーブルごとに作成され、条件ベースのエクスクルーダーは使用できません。ソースデータに対してのみアクションが実行されます。テーブルを除外すると、テーブルが切り捨てられるため、ソースインスタンスのデータは保持されません。クローンの除外オプションはデフォルトで選択されています。クローンを作成する前に除外オプションを削除すると、どのデータも除外されません。同じテーブルを除外および保持することができます。 プリザーバーはどのように機能しますか? すべてのプリザーバー設定をソースインスタンスで設定する必要があります。テーブルまたは列ではなく、データのみを保持できます。テーブルごとに作成され、特定のデータのみを保持する条件を使用できます。ターゲットデータに対してのみアクションが実行されます。データは、除外が実行された後にインポートされます。これらは常にすべてのクローンで実行されます。同じテーブルを除外および保持することができます。ターゲットインスタンスのテーブルは、そのテーブルがソースインスタンスにも存在する場合にのみ保持できます (これは、テーブル構造がデータのみを保持できないためです)。また、プリザーバーは重要なデータを保持するためのものであり、大量のデータを保持するものではありません。大量のデータを保持すると、クローンが壊れたり、実行に非常に長い時間がかかったりすることがあります。大量のデータを保持しないことをお勧めします。 詳細については、「KB0717012 - Clone results based on Exclusion and Preserver configuration」を参照してください。 クローンクリーンアップスクリプトはどのように機能しますか? クローンが完了すると、すべてのクリーンアップスクリプトがスケジュール設定済みジョブとして作成され、最後まで実行されます。クリーンアップスクリプトには、異なる順序で実行されるような順序付けはありません。ソースインスタンスで定義する必要があります。 インスタンスごとにクリーンアップスクリプトを設定できますか? 特定のインスタンス専用のクリーンアップスクリプトはありません。ただし、インスタンス名のシステムプロパティを確認し、その結果に応じて特定のジョブを実行するようにクリーンアップスクリプトで定義することはできます。例: var instanceName = gs.getProperty('instance_name');if (instanceName == 'testdev'){// Do specific jobs for dev instance}else if (instanceName == 'testsandbox'){// Do specific jobs for sandbox instance} クローン実行後に、コメント/更新がすべて異なるユーザーや時間で表示されます。なぜですか? これは設計どおりです。sys_audit テーブルはそれぞれのコメントや更新を行ったユーザーおよび日時を保持するために使用されます。sys_audit テーブルを除外する除外機能を使用してクローンを作成した場合、sys_audit がないため、レコード上のすべてのコメントに sys_created_by フィールドと sys_created_at フィールドが使用されます。 レコードの履歴を表示すると、すべての更新が「update 0」として表示されます。 詳細については、「KB0690828: Cloning - Activity formatter and Audit not showing correct user and time」を参照してください。 ドラフトとは何ですか?なぜ削除できないのですか? UI をクリックしてクローンを送信すると、クローンテーブルにレコードが作成されます。クローンを続行しないか、ポップアップウィンドウの外をクリックすると、レコードは「ドラフト」としてシステムに残りますが、これは無視しても問題ありません。ドラフトを削除できないのは、ドラフトにはクローン要求を管理する ServiceNow の内部インスタンスへのリンクがあるためです。 クローンが「保留中」である理由は何ですか? クローンのステータスが [保留] に設定されている場合、サーバーがクローン要求を却下したことを意味します。最も一般的な理由は次のとおりです。 スケジュールされた時間までにクローンを続行する準備ができなかった。London 以前のリリースで、最初の要求が完了する前に追加のクローン要求が送信された。これらの要求のソースクローンは同じです。データベースサーバーソースごとに 1 つのクローンしか許可されません。ターゲットインスタンスがダウングレードされていない。クローンに使用されたバックアップに問題がある。 詳細については、「KB0694499 - Several clones in the state of 'Hold'」を参照してください。 ATF ジョブを保持するにはどうすればよいですか? クローン実行中に ATF ジョブを保持する方法について、多くのご要望がありました。ATF はプリザーバーと連携するように設計されておらず、更新セットを介して移動するように設計されているため、ATF を保持することは最適なオプションではありません。 最適なオプションは、更新セットを介して ATF テストを本番環境に移動することです。その後、準本番環境上で本番環境のクローンを作成するときに、ATF テストを使用できます。本番環境で ATF テストをコミットしても、本番環境でテストを実行する必要はありません。クローンの内容を保持する必要がないため、クローン作成が非常に簡単になります。 注意:現在、準本番環境で ATF ジョブをテストしていて、それを本番環境にプッシュする準備ができていないが、クローンを作成する必要がある場合は、更新セットを介して ATF テストをエクスポートし、ターゲットインスタンスをクローンしてから、その ATF テストを含む更新セットを再コミットします。 インスタンスの名前を変更したら、新しいクローンターゲットを作成できなくなりました インスタンスの名前を変更してインスタンスへのログインを試み、インスタンスの新しいクローンターゲットの作成を試みた場合、そのインスタンスは古い名前で既に存在するため、この処理は機能しません。 この問題を解決するには、「KB0550896: Unable to add clone target after instance rename」で説明する手順に従ってください。 完全なクローンを作成する方法は? 完全なクローンを作成する場合、クローンの作成時にすべての除外オプションの選択を解除する必要があります。London では [タスクテーブルからコピーされるデータの量 (Amount of data copied from the task tables)] オプションも追加されていますので、[すべて (All)] に設定する必要があります。 これは、クローンでエクスクルーダーが実行されず、ソースインスタンスのレプリカになるべく近づけることを意味します。 別のインスタンスにクローンを作成すると、リリースが変更されますか? はい。クローンを作成すると、ソースインスタンスのレプリカが作成されるため、テーブル構造とバージョンは一致することになります。 したがって、Kingston のクローンを London で作成すると、ターゲットインスタンスは Kingston リリースになります。 その逆も同様です。 London のクローンを Kingston で作成すると、ターゲットインスタンスは London リリースになります。 「クローンの担当ノードがオフラインです (Node in charge of the clone is Offline)」 このエラーはインスタンスクローン履歴に表示され、Madrid で修正された既知のエラーです。これは「PRB1262541/KB0689695: Node in charge of the clone generates an offline error message on the instance clone history」で追跡されています。 これは外観上の問題であり、クローンが失敗したことを示すものではありません。HI で変更要求が正常に完了したことを確認できれば、クローンは正常に完了しており、このメッセージを無視しても問題ありません。 スタンバイデータベースとソースインスタンスの違いは何ですか? クローンを作成すると、スタンバイデータベースとソースインスタンスのいずれかを選択するオプションが表示されます。 これは古いオプションであり、クローンの作成を要求するときには不要になりました。新しいリリースでは削除され、表示されないはずですが、表示されている場合は、このオプションをそのままにして無視してかまいません。 ユーザー、ロール、グループを除外および保持する方法は? 場合によっては、ソースインスタンスからユーザーを引き継がず、ターゲットインスタンスのユーザーのみを保持することもできます。ここでは、ユーザーを除外および保持するための最良の方法を説明します。 これを行うには、次のエクスクルーダーを作成する必要があります。 sys_usersys_user_rolesys_user_has_rolesys_user_groupsys_user_grmembersys_group_has_rolesys_user_role_containscustomer_contact (Customer Service Management プラグインがインストールされている場合のみ) これにより、ソースインスタンスまたはグループやロールへの参照からユーザーが引き継がれることはなくなりますが、ターゲットインスタンスで sys_user を保持する必要があります。忘れがちですが、ロール、グループ、さらにユーザーからロールやグループへのリンクも保持する必要があります。クローン作成後に管理者ロールを失ってログインできなくなるというよくある失敗は、ロールへのリンクを失うことが原因です。 そこで、以下のプリザーバーを作成する必要があります (要件に応じて条件を追加します)。 sys_usersys_user_rolesys_user_groupsys_user_grmembersys_user_has_rolesys_group_has_rolesys_user_role_containscustomer_contact (Customer Service Management プラグインがインストールされている場合のみ)sys_user テーブルを拡張している他のテーブル。これは、クローン作成後の sys_user から拡張テーブル上のレコードが孤立しないようにするためです。 これにより、ターゲットインスタンス内のすべてのユーザー、ロール、およびグループが保持されますが、それらのグループおよびロールに対するこれらのユーザーの権限も保持されます。 これらをインスタンスに配置すると、クローン作成後のターゲットインスタンスからまったく同じユーザーが存在し、クローン作成元のすべてのアクセス権が保持されます。 クローン作成後にテキスト検索が実行されないのはなぜですか? インスタンスでクローンを作成すると、テキスト検索が機能しないという問題が発生する可能性があります。 これは、クローン作成後に実行されるクローンクリーンアップスクリプトの 1 つが、このインスタンスを検索用に再インデックス化していて、このスクリプトの実行中は検索が機能しないことが原因です。 実行中のジョブを確認すると、テキストインデックスイベントプロセスが表示されます。stats.do を確認すると、次のように表示されます。 このジョブが完了するのを見守ります。完了したら、検索機能を使用できます。 クローン作成後に添付ファイルが見つからないのはなぜですか? 最近、クローン作成が完了した後、ターゲットインスタンスに添付ファイルが見つからず、問題が発生することがあります。 これは実際には設計どおりに機能しているのですが、この除外は、2018 年 12 月以降にクローン作成の自動化によって内部の問題が修正された後に正しく機能し始めました。これは ServiceNow のリリースの範囲外であるため、それ以降のすべてのリリースとすべてのクローンに影響しています。[大きな添付データを除外 (Exclude large attachment data)] クローンオプションに対して修正が行われました。 前の質問に関する説明を確認してください: クローンのすべてのオプションにはどのような機能がありますか? 基準を満たさない sys_attachment レコードは削除されると記載されています。名前からすると、基準はサイズに基づくように思われますが、そうではありません。 つまりこれは設計どおりに、またマニュアルに記載されているとおりに機能しています。添付ファイルを保持したい場合は、クローン作成時に [大きな添付データを除外 (Exclude large attachment data)] チェックボックスをオフにする必要があります。 ターゲットインスタンスのプラグインを保持できますか? 場合によっては、ターゲットインスタンスでプラグインをテストした際に、それらのプラグインを保持して、引き続きテストして作業できるようにしたいと思われるかもしれません。 当社では新しいデータベースに対してソースインスタンスを復元する方法でクローンを作成します。そのため、残念ながら、クローン作成後にプラグインを再度有効にするか、必要に応じて HI 経由でプラグインを要求する必要があります。 レコードを保持する場合、添付ファイルも保持する必要がありますか? クローンの作成時に、一部のインシデントなど、ターゲットインスタンスの特定のレコードを保持したい場合は、クローン作成後にこれらのインシデントにリンクされた添付ファイルも保持されていることを確認する必要があります。 現在、当社の自動化では、添付ファイルのあるレコードを保持した場合、添付ファイルテーブル専用の別のプリザーバーを作成しなくても、その添付ファイルが自動的に保持されます。 本番インスタンスではクローンを実行できますか?また、その方法は? リスクがあるためお勧めしませんが、場合によっては本番インスタンスに対してクローンを実行することができます。以下は本番環境でも使用できる手順ですが、インスタンスが既に本稼働されている場合はお勧めしません。テクニカルサポートにお問い合わせください。 本番インスタンスをクローンターゲットとして追加するには、次の手順に従います。 本番インスタンスにログインします。システムプロパティリストに移動します。システムプロパティ glide.db.clone.allow_clone_target を検索します。「true」に設定します。 これで、このインスタンスをクローンターゲットとして作成できるようになります。 このインスタンスに対するクローンの作成は、他のクローン要求と同じです。クローン作成が完了したら、後で誤って本番インスタンスのクローンを作成しないように、このプロパティを「false」に戻す必要があります。 除外すべきでないのはどのテーブルですか? サポートを通じて発生した問題を調べたところ、クローン作成後に多くのテーブルが除外され、問題が発生していることが確認されました。以下のテーブルを除外する必要がある場合は、あわせて保持しておくか、クローンクリーンアップスクリプトを使用して、そのテーブルのデータの一部のみを削除することをお勧めします。 除外すべきでないテーブル sys_propertiessys_triggersys_plugins (ターゲットインスタンスがダウンする可能性があります)sys_user (前述のとおりですが、他のテーブルで保持されている場合は問題ありません) これらのテーブルを除外すると、ターゲットインスタンスが不適切な状態になる可能性があります。その場合、クローンをロールバックし、調整して再度クローンを実行する必要があります。 特定のテーブルを除外しましたが、クローン作成後もデータがまだ残っています これはサポートに寄せられることが非常に多い質問です。エクスクルーダーに入力しても、クローン作成後にデータが残っているという問題です。 これにはさまざまな原因が考えられます。 クローンで除外するテーブルのチェックボックスをオフにした。TPH 拡張モデル (例:インシデント) を使用している子テーブルを除外しようとした。 システムは、タスクテーブルを拡張し、階層拡張モデルごとのテーブルの一部としてフラット化されるテーブルを除外することはできません。これらの拡張テーブルは実際には同じ物理データベーステーブルの一部であるため、システムはタスクテーブルをクローンするときにデータをクローンします。次の 2 つの条件下では、タスクテーブルを拡張するテーブルを除外できます。テーブルがクラス拡張モデルごとのテーブルの一部として独自の物理テーブルに保存されるか、タスクテーブル自体が除外された場合。 プリザーバーとエクスクルーダーを変更した場合、次回のクローン作成で変更がすぐに機能しますか? エクスクルーダーまたはプリザーバーを調整したばかりで、クローンを実行する前にしばらく待機する必要があるかどうかを知りたいと、よく質問されます。この場合、待機する必要はありません。エクスクルーダーとプリザーバーを変更すると、それらの変更は次回のクローンの要求で適用されます。 データを除外している場合でも、メールアカウントがターゲットにクローンされたのはなぜですか? クローン作成後にメールを有効にする前に、本番環境のメールアカウントが準本番インスタンスにコピーされている場合があります。それで、テーブルを除外するオプションがオンになっていることを確認しても、問題が解消されないように思えました。 この問題が発生するのは、通常は以下のことが原因です。あるとき準本番環境でテーブルを除外せずにクローンを作成したため、sys_email_account がターゲットインスタンスにコピーされました。その場合 sys_email_account のプリザーバーが存在するため、その後のすべてのクローンでメールアカウントが保持されます。 回避策:クローンクリーンアップスクリプト 本番インスタンスにログインします。準本番環境で不要なメールアカウントのすべての sys_id を確認します。これらの sys_id を持つすべてのメールアカウントを削除するクローンクリーンアップスクリプトを本番環境で作成します。 スクリプトの例: // Add sys_ids to the encoded query (queryString) // Like queryString = "sys_idIN206594e8db9eb3002e14c6fc34961998,6ab25213db003300eaf8e64305961927" var queryString = "sys_idIN"; var emailclean = new GlideRecord('sys_email_account'); emailclean.addEncodedQuery(queryString); emailclean.deleteMultiple(); これは、すべてのクローン作成後に、これらの sys_email_accounts がクローンされたかどうかに関係なく削除されることを意味します。新しいメールアカウントを追加する場合は、このスクリプトに追加する必要がありますが、これにより、ソースインスタンスからメールアカウントが引き継がれることがなくなります。 除外オプションをオフにしましたが、クローン作成後もまだエクスクルーダーが実行されています 最近、この問題が増加しています。クローンを要求し、クローンの作成後に除外オプションのチェックを外した後も、エクスクルーダーが実行されているようです。 これは要求フォームの UI 変更に関係しています。一部のお客様がフォームをカスタマイズし、そのため変更を取得できませんでした。 UI に変更が加えられた結果、オプションタブで除外するオプションが非表示になり、開いて表示するにはクリックしなければならなくなりました。この変更以降、一部のお客様がフォームをカスタマイズしたか、非表示セクションのオプションを表示する代わりにこれらの値を表示するようにフォームを既にカスタマイズしたために、フィールドが 2 回表示されている可能性があります。 ここでの問題は、値は常に最後に検出された値から取得されるので、メインフォームのオプションをオフにすると、そのフィールドで検出された最後の値であるため、そのオプションの値が取得されることです。 これを修正するには、フォームを更新して、フィールドがすべてのセクションで 1 回だけフォームに表示されるようにする必要があります。一旦修正すれば、再発することはありません。 既存のテーブルをプリザーバーに追加できません 特定のテーブルのデータプリザーバーを追加しようとしているときに、リストにそのテーブルが見つからず、不思議に思うことがあります。これはおそらくテーブルのスコープが原因です。 特定のスコープの一部であるテーブルを保持する場合は、次の操作を行う必要があります。 右上の歯車アイコンをクリックしてテーブルのスコープに切り替え、[開発者] に移動し、テーブルのスコープを選択します。次に、データプリザーバーテーブルに移動します。データプリザーバーを作成すると、その特定のテーブルを選択して保存できるようになります。 クローンが失敗し、「ターゲットインスタンスがデモであるためクローンできません (Cannot clone since target instance is a demo)」というエラーが表示されました 前述のクローンマッピングで説明した問題を回避するために、最近 (2020 年 2 月) 変更が行われました。 デモインスタンスでクローンを要求すると、ソースインスタンスが大きすぎて、すべての情報をターゲットインスタンスに格納でず、ストレージ容量チェックが失敗するという問題が発生します。これは、デモインスタンスが設定された制限を超えてストレージ容量を拡張するように構成されていないためです。 特定の状況により、デモインスタンスに対してクローンを許可しないというこの変更はロールバックされました。クローンは通常どおり再度実行されてデモインスタンスに対してクローンが作成されます。ソースが大きすぎると容量が原因でクローンが機能しないという当初の問題はそのまま残ります。