ユーザーおよびグループ: 初期複製の変更

注意

この動作変更は2023_04バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

複製またはフェールオーバーグループを使用して、ソースアカウントからターゲットアカウントに USERS および/または ROLES を複製しているときに、そのアカウントに複製以外の方法で作成された既存のユーザー/ロールが存在すると、これらのオブジェクト型の初期更新操作によって、ターゲットアカウントのすべてのユーザー/ロールが削除されます。

初期更新で、対象アカウントのユーザーやロールが削除されると、データやメタデータが失われる可能性があります。

  • 複製グループまたはフェールオーバーグループの OBJECT_TYPES リストに USERS が含まれている場合は、

    • ワークシートが失われます

    • クエリの履歴が失われます

  • OBJECT_TYPES に USERS は含まれるが、 ROLES は含まれない場合は、

    • ユーザーへの権限付与が失われます

  • OBJECT_TYPES に ROLES が含まれる場合は、

    • オブジェクトを共有するための権限付与は失われます

将来のリリースでは、この行動が以下のように変更されます。

以前

複製またはフェールオーバーグループに OBJECT_TYPES リストの USERS および/または ROLES が含まれている場合は、これらのオブジェクト型の初期更新操作により、ターゲットアカウントのユーザーまたはロールが削除されます。

現在

複製またはフェールオーバーグループに OBJECT_TYPES リストの USERS および/または ROLES が含まれており、次の条件に当てはまる場合、これらのオブジェクト型の初期更新操作は、エラーメッセージを生成して失敗します。

  • ターゲットアカウントに、ソースアカウントの同名のオブジェクトと一致するユーザーおよび/またはロールが存在する。また、

  • USERS および/または ROLES は、以前にターゲットアカウントに複製されていない

エラーメッセージは、ユーザーに2つのオプションを提示します。

  • 更新操作を強制し、ターゲットアカウントの既存のユーザーおよび/またはロールを削除できるようにします。ソースアカウントのユーザー/ロールが、ターゲットアカウントに再作成されます。

    更新を強制するには、次のステートメントを実行します。

    ALTER ( { FAILOVER | REPLICATION } ) GROUP <rg_name> REFRESH FORCE;
    
    Copy
  • 名前でのアカウントオブジェクトのリンク: ターゲットアカウントとソースアカウントで同じ名前を持つユーザーおよび/またはロールがリンクされます。リンクされているターゲットアカウントのユーザー/ロールは削除されません。

    名前でアカウントオブジェクトをリンクするには、次のステートメントを実行します。

    SELECT SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME('<rg_name>');
    
    Copy

注釈

ターゲットアカウントのユーザー/ロールで、ソースアカウントに同名の一致するオブジェクトがない場合は、すべてドロップされます。

詳細については、 ターゲットアカウントのスクリプトによって作成されたオブジェクトにグローバル IDs を適用する をご参照ください。

参照: 1044