{Denodo}データソース・ラッパー・基本ビュー・インターフェイスビューの作成(Azure Synapse Analytics)

 

https://qiita.com/winefreak/items/a2012ce0e49d70aae807

https://learn.microsoft.com/ja-jp/azure/synapse-analytics/sql-data-warehouse/create-data-warehouse-azure-cli

 


前提:
Denodo Express インストール、起動済

 

-------- Azure側作業


-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg9999999 \
--location japaneast

az group list

az upgrade


-- 2. Azure Data Lake Storage Gen2 ストレージ アカウントを作成する

az storage account create \
--resource-group rg9999999 \
--name st123 \
--access-tier Hot \
--kind StorageV2 \
--sku Standard_LRS \
--enable-hierarchical-namespace true


az storage account list \
--resource-group rg9999999

az storage account show \
--resource-group rg9999999 \
--name st123


-- 3. コンテナ作成

connectionString=$(az storage account show-connection-string \
--resource-group rg9999999 \
--name st123 \
--query connectionString \
--output tsv )

echo $connectionString

az storage container create \
--name fs123 \
--account-name st123 \
--public-access off \
--connection-string $connectionString

az storage container list \
--account-name st123 \
--connection-string $connectionString


az storage container show \
--name fs123 \
--account-name st123 \
--connection-string $connectionString

 

-- 4. Azure Synapse ワークスペースを作成する


az synapse workspace create \
--name ws123 \
--resource-group rg9999999 \
--storage-account st123 \
--file-system fs123 \
--sql-admin-login-user sqladminuser \
--sql-admin-login-password 'password' \
--location japaneast

az synapse workspace list \
--resource-group rg9999999

az synapse workspace show \
--name ws123 \
--resource-group rg9999999


-- 5. Azure Synapse ファイアウォール規則作成

※この規則がないとSynapse Studio起動時にエラーとなる


az synapse workspace firewall-rule create \
--end-ip-address 255.255.255.255 \
--name allowAll \
--resource-group rg9999999 \
--start-ip-address 0.0.0.0 \
--workspace-name ws123


az synapse workspace firewall-rule list \
--resource-group rg9999999 \
--workspace-name ws123

 

-- 6. ロール付与



A member of the Owner role of the Azure Storage account must assign the Storage Blob Data Contributor role to the Azure Synapse workspace MSI and other users.

MSI => マネージド サービス ID 
マネージド ID の名前は、ワークスペース名でもあります。


az ad user list

az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee-object-id "11111111-1111-1111-1111-111111111111" \
--assignee-principal-type User \
--scope "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/rg9999999/providers/Microsoft.Storage/storageAccounts/st123"

※assignee-object-idはログインアカウントのid


az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee-object-id "33333333-3333-3333-3333-333333333333" \
--assignee-principal-type ServicePrincipal \
--scope "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/rg9999999/providers/Microsoft.Storage/storageAccounts/st123"

※assignee-object-idはワークスペースのマネージド ID オブジェクト ID

 

az role assignment list --all

 


-- 7. Synapse Studio を開く

 

-- 8. プライマリ ストレージ アカウントにサンプル データを配置する

下記サイトから
parquetファイルを取得し、Synapse Studioへアップロード

https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page

 


-- 9. サーバーレス SQL プールを使用してニューヨーク市のタクシー データを分析する

SELECT
    TOP 100 *
FROM
    OPENROWSET(
        BULK 'https://st123.dfs.core.windows.net/fs123/yellow_tripdata_2022-01.parquet',
        FORMAT = 'PARQUET'
    ) AS [result]


-- 10. SQL プールを作成する

az synapse sql pool create \
--resource-group rg9999999 \
--name pool123 \
--performance-level "DW100c" \
--workspace-name ws123


az synapse sql pool list \
--resource-group rg9999999 \
--workspace-name ws123

az synapse sql pool show-connection-string \
--client jdbc \
--name pool123 \
--workspace-name ws123


-------- Denodo側作業

 

-- 11. データベース作成
DROP DATABASE db05 cascade;

CREATE OR REPLACE DATABASE db05 'description of db05'
VCS OFF
CHARSET UNICODE
AUTHENTICATION LOCAL
ODBC AUTHENTICATION NORMAL
CHECK_VIEW_RESTRICTIONS ALWAYS
;

-- 12. フォルダ作成

CONNECT DATABASE db05;

CREATE FOLDER '/01ds'  DESCRIPTION 'description of folder01';
CREATE FOLDER '/02bv'  DESCRIPTION 'description of folder02';
CREATE FOLDER '/03iv'  DESCRIPTION 'description of folder03';

 

 

 

-- 13. データソース作成


CREATE OR REPLACE DATASOURCE JDBC "AzureSynapse"
    FOLDER = '/01ds'
    DRIVERCLASSNAME = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
    DATABASEURI = 'jdbc:sqlserver://ws123.sql.azuresynapse.net:1433;database=pool123;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=30;'
    USERNAME = 'sqladminuser'
    USERPASSWORD = 'xxxxx' ENCRYPTED
    CLASSPATH = 'mssql-jdbc-10.x'
    DATABASENAME = 'azuresqldw'
    DATABASEVERSION = '0_1'
    FETCHSIZE = 1000
    VALIDATIONQUERY = 'Select 1'
    INITIALSIZE = 4
    MAXIDLE = -1
    MINIDLE = 0
    MAXACTIVE = 20
    EXHAUSTEDACTION = 1
    TESTONBORROW = true
    TESTONRETURN = false
    TESTWHILEIDLE = false
    TIMEBETWEENEVICTION = -1
    NUMTESTPEREVICTION = 3
    MINEVICTABLETIME = 1800000
    POOLPREPAREDSTATEMENTS = false
    MAXOPENPREPAREDSTATEMENTS = -1
    PROPERTIES ('applicationName'='Denodo')
    KERBEROSPROPERTIES ('authenticationScheme'='JavaKerberos', 'integratedSecurity'='true')
    DATA_LOAD_CONFIGURATION (
        BATCHINSERTSIZE = 200
    );


-- 14. ラッパー作成

CREATE OR REPLACE WRAPPER JDBC b_databases
    FOLDER = '/02bv'
    DATASOURCENAME="AzureSynapse"
    SCHEMANAME='sys' 
    RELATIONNAME='databases' 
    OUTPUTSCHEMA (
        name = 'name' :'java.lang.String' (OPT) (sourcetypesize='128', sourcetypeid='-9', sourcetypename='sysname')  NOT NULL NOT SORTABLE,
        database_id = 'database_id' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  NOT NULL SORTABLE,
        source_database_id = 'source_database_id' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  SORTABLE,
        owner_sid = 'owner_sid' :'java.sql.Blob' (OPT) (sourcetypesize='85', sourcetypeid='-3', sourcetypename='varbinary')  NOT SORTABLE,
        create_date = 'create_date' :'java.time.LocalDateTime' (OPT) (sourcetypedecimals='3', sourcetypesize='23', sourcetypeid='93', sourcetypename='datetime')  NOT NULL SORTABLE,
        compatibility_level = 'compatibility_level' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  NOT NULL SORTABLE,
        collation_name = 'collation_name' :'java.lang.String' (OPT) (sourcetypesize='128', sourcetypeid='-9', sourcetypename='sysname')  NOT SORTABLE,
        user_access = 'user_access' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        user_access_desc = 'user_access_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_read_only = 'is_read_only' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_auto_close_on = 'is_auto_close_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_auto_shrink_on = 'is_auto_shrink_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        state = 'state' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        state_desc = 'state_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_in_standby = 'is_in_standby' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_cleanly_shutdown = 'is_cleanly_shutdown' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_supplemental_logging_enabled = 'is_supplemental_logging_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        snapshot_isolation_state = 'snapshot_isolation_state' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        snapshot_isolation_state_desc = 'snapshot_isolation_state_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_read_committed_snapshot_on = 'is_read_committed_snapshot_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        recovery_model = 'recovery_model' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        recovery_model_desc = 'recovery_model_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        page_verify_option = 'page_verify_option' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        page_verify_option_desc = 'page_verify_option_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_auto_create_stats_on = 'is_auto_create_stats_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_auto_create_stats_incremental_on = 'is_auto_create_stats_incremental_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_auto_update_stats_on = 'is_auto_update_stats_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_auto_update_stats_async_on = 'is_auto_update_stats_async_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_ansi_null_default_on = 'is_ansi_null_default_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_ansi_nulls_on = 'is_ansi_nulls_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_ansi_padding_on = 'is_ansi_padding_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_ansi_warnings_on = 'is_ansi_warnings_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_arithabort_on = 'is_arithabort_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_concat_null_yields_null_on = 'is_concat_null_yields_null_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_numeric_roundabort_on = 'is_numeric_roundabort_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_quoted_identifier_on = 'is_quoted_identifier_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_recursive_triggers_on = 'is_recursive_triggers_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_cursor_close_on_commit_on = 'is_cursor_close_on_commit_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_local_cursor_default = 'is_local_cursor_default' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_fulltext_enabled = 'is_fulltext_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_trustworthy_on = 'is_trustworthy_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_db_chaining_on = 'is_db_chaining_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_parameterization_forced = 'is_parameterization_forced' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_master_key_encrypted_by_server = 'is_master_key_encrypted_by_server' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_query_store_on = 'is_query_store_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_published = 'is_published' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_subscribed = 'is_subscribed' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_merge_published = 'is_merge_published' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_distributor = 'is_distributor' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_sync_with_backup = 'is_sync_with_backup' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        service_broker_guid = 'service_broker_guid' :'java.lang.String' (OPT) (sourcetypesize='36', sourcetypeid='1', sourcetypename='uniqueidentifier')  NOT NULL NOT SORTABLE,
        is_broker_enabled = 'is_broker_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        log_reuse_wait = 'log_reuse_wait' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        log_reuse_wait_desc = 'log_reuse_wait_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_date_correlation_on = 'is_date_correlation_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_cdc_enabled = 'is_cdc_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  NOT NULL SORTABLE,
        is_encrypted = 'is_encrypted' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_honor_broker_priority_on = 'is_honor_broker_priority_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        replica_id = 'replica_id' :'java.lang.String' (OPT) (sourcetypesize='36', sourcetypeid='1', sourcetypename='uniqueidentifier')  NOT SORTABLE,
        group_database_id = 'group_database_id' :'java.lang.String' (OPT) (sourcetypesize='36', sourcetypeid='1', sourcetypename='uniqueidentifier')  NOT SORTABLE,
        resource_pool_id = 'resource_pool_id' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  SORTABLE,
        default_language_lcid = 'default_language_lcid' :'java.lang.Short' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='5', sourcetypeid='5', sourcetypename='smallint')  SORTABLE,
        default_language_name = 'default_language_name' :'java.lang.String' (OPT) (sourcetypesize='128', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        default_fulltext_language_lcid = 'default_fulltext_language_lcid' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  SORTABLE,
        default_fulltext_language_name = 'default_fulltext_language_name' :'java.lang.String' (OPT) (sourcetypesize='128', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_nested_triggers_on = 'is_nested_triggers_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_transform_noise_words_on = 'is_transform_noise_words_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        two_digit_year_cutoff = 'two_digit_year_cutoff' :'java.lang.Short' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='5', sourcetypeid='5', sourcetypename='smallint')  SORTABLE,
        containment = 'containment' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='3', sourcetypeid='-6', sourcetypename='tinyint')  SORTABLE,
        containment_desc = 'containment_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        target_recovery_time_in_seconds = 'target_recovery_time_in_seconds' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  SORTABLE,
        delayed_durability = 'delayed_durability' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  SORTABLE,
        delayed_durability_desc = 'delayed_durability_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_memory_optimized_elevate_to_snapshot_on = 'is_memory_optimized_elevate_to_snapshot_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_federation_member = 'is_federation_member' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_remote_data_archive_enabled = 'is_remote_data_archive_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_mixed_page_allocation_on = 'is_mixed_page_allocation_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_temporal_history_retention_enabled = 'is_temporal_history_retention_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        catalog_collation_type = 'catalog_collation_type' :'java.lang.Integer' (OPT) (sourcetypedecimals='0', sourcetyperadix='10', sourcetypesize='10', sourcetypeid='4', sourcetypename='int')  NOT NULL SORTABLE,
        catalog_collation_type_desc = 'catalog_collation_type_desc' :'java.lang.String' (OPT) (sourcetypesize='60', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        physical_database_name = 'physical_database_name' :'java.lang.String' (OPT) (sourcetypesize='128', sourcetypeid='-9', sourcetypename='nvarchar')  SORTABLE,
        is_result_set_caching_on = 'is_result_set_caching_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_accelerated_database_recovery_on = 'is_accelerated_database_recovery_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_tempdb_spill_to_remote_store = 'is_tempdb_spill_to_remote_store' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_stale_page_detection_on = 'is_stale_page_detection_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_memory_optimized_enabled = 'is_memory_optimized_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_data_retention_enabled = 'is_data_retention_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_ledger_on = 'is_ledger_on' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE,
        is_change_feed_enabled = 'is_change_feed_enabled' :'java.lang.Boolean' (OPT) (sourcetypesize='1', sourcetypeid='-7', sourcetypename='bit')  SORTABLE
    );

-- 15. 基本ビュー作成

CREATE OR REPLACE TABLE b_databases I18N jp (
        name:text (notnull, sourcetypeid = '-9', sourcetypesize = '128'),
        database_id:int (notnull, sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        source_database_id:int (sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        owner_sid:blob (sourcetypeid = '-3', sourcetypesize = '85'),
        create_date:timestamp (notnull, sourcetypeid = '93', sourcetypedecimals = '3', sourcetypesize = '23'),
        compatibility_level:int (notnull, sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        collation_name:text (sourcetypeid = '-9', sourcetypesize = '128'),
        user_access:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        user_access_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_read_only:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_auto_close_on:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_auto_shrink_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        state:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        state_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_in_standby:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_cleanly_shutdown:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_supplemental_logging_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        snapshot_isolation_state:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        snapshot_isolation_state_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_read_committed_snapshot_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        recovery_model:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        recovery_model_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        page_verify_option:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        page_verify_option_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_auto_create_stats_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_auto_create_stats_incremental_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_auto_update_stats_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_auto_update_stats_async_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_ansi_null_default_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_ansi_nulls_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_ansi_padding_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_ansi_warnings_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_arithabort_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_concat_null_yields_null_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_numeric_roundabort_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_quoted_identifier_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_recursive_triggers_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_cursor_close_on_commit_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_local_cursor_default:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_fulltext_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_trustworthy_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_db_chaining_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_parameterization_forced:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_master_key_encrypted_by_server:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_query_store_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_published:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_subscribed:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_merge_published:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_distributor:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_sync_with_backup:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        service_broker_guid:text (notnull, sourcetypeid = '1', sourcetypesize = '36'),
        is_broker_enabled:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        log_reuse_wait:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        log_reuse_wait_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_date_correlation_on:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_cdc_enabled:boolean (notnull, sourcetypeid = '-7', sourcetypesize = '1'),
        is_encrypted:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_honor_broker_priority_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        replica_id:text (sourcetypeid = '1', sourcetypesize = '36'),
        group_database_id:text (sourcetypeid = '1', sourcetypesize = '36'),
        resource_pool_id:int (sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        default_language_lcid:int (sourcetypeid = '5', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '5'),
        default_language_name:text (sourcetypeid = '-9', sourcetypesize = '128'),
        default_fulltext_language_lcid:int (sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        default_fulltext_language_name:text (sourcetypeid = '-9', sourcetypesize = '128'),
        is_nested_triggers_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_transform_noise_words_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        two_digit_year_cutoff:int (sourcetypeid = '5', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '5'),
        containment:int (sourcetypeid = '-6', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '3'),
        containment_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        target_recovery_time_in_seconds:int (sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        delayed_durability:int (sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        delayed_durability_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        is_memory_optimized_elevate_to_snapshot_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_federation_member:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_remote_data_archive_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_mixed_page_allocation_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_temporal_history_retention_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        catalog_collation_type:int (notnull, sourcetypeid = '4', sourcetyperadix = '10', sourcetypedecimals = '0', sourcetypesize = '10'),
        catalog_collation_type_desc:text (sourcetypeid = '-9', sourcetypesize = '60'),
        physical_database_name:text (sourcetypeid = '-9', sourcetypesize = '128'),
        is_result_set_caching_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_accelerated_database_recovery_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_tempdb_spill_to_remote_store:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_stale_page_detection_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_memory_optimized_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_data_retention_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_ledger_on:boolean (sourcetypeid = '-7', sourcetypesize = '1'),
        is_change_feed_enabled:boolean (sourcetypeid = '-7', sourcetypesize = '1')
    )
    FOLDER = '/02bv'
    CACHE OFF
    TIMETOLIVEINCACHE DEFAULT
    ADD SEARCHMETHOD b_databases(
        I18N jp
        CONSTRAINTS (
             ADD name (any) OPT ANY
             ADD database_id (any) OPT ANY
             ADD source_database_id (any) OPT ANY
             ADD create_date (any) OPT ANY
             ADD compatibility_level (any) OPT ANY
             ADD collation_name (any) OPT ANY
             ADD user_access (any) OPT ANY
             ADD user_access_desc (any) OPT ANY
             ADD is_read_only (any) OPT ANY
             ADD is_auto_close_on (any) OPT ANY
             ADD is_auto_shrink_on (any) OPT ANY
             ADD state (any) OPT ANY
             ADD state_desc (any) OPT ANY
             ADD is_in_standby (any) OPT ANY
             ADD is_cleanly_shutdown (any) OPT ANY
             ADD is_supplemental_logging_enabled (any) OPT ANY
             ADD snapshot_isolation_state (any) OPT ANY
             ADD snapshot_isolation_state_desc (any) OPT ANY
             ADD is_read_committed_snapshot_on (any) OPT ANY
             ADD recovery_model (any) OPT ANY
             ADD recovery_model_desc (any) OPT ANY
             ADD page_verify_option (any) OPT ANY
             ADD page_verify_option_desc (any) OPT ANY
             ADD is_auto_create_stats_on (any) OPT ANY
             ADD is_auto_create_stats_incremental_on (any) OPT ANY
             ADD is_auto_update_stats_on (any) OPT ANY
             ADD is_auto_update_stats_async_on (any) OPT ANY
             ADD is_ansi_null_default_on (any) OPT ANY
             ADD is_ansi_nulls_on (any) OPT ANY
             ADD is_ansi_padding_on (any) OPT ANY
             ADD is_ansi_warnings_on (any) OPT ANY
             ADD is_arithabort_on (any) OPT ANY
             ADD is_concat_null_yields_null_on (any) OPT ANY
             ADD is_numeric_roundabort_on (any) OPT ANY
             ADD is_quoted_identifier_on (any) OPT ANY
             ADD is_recursive_triggers_on (any) OPT ANY
             ADD is_cursor_close_on_commit_on (any) OPT ANY
             ADD is_local_cursor_default (any) OPT ANY
             ADD is_fulltext_enabled (any) OPT ANY
             ADD is_trustworthy_on (any) OPT ANY
             ADD is_db_chaining_on (any) OPT ANY
             ADD is_parameterization_forced (any) OPT ANY
             ADD is_master_key_encrypted_by_server (any) OPT ANY
             ADD is_query_store_on (any) OPT ANY
             ADD is_published (any) OPT ANY
             ADD is_subscribed (any) OPT ANY
             ADD is_merge_published (any) OPT ANY
             ADD is_distributor (any) OPT ANY
             ADD is_sync_with_backup (any) OPT ANY
             ADD service_broker_guid (any) OPT ANY
             ADD is_broker_enabled (any) OPT ANY
             ADD log_reuse_wait (any) OPT ANY
             ADD log_reuse_wait_desc (any) OPT ANY
             ADD is_date_correlation_on (any) OPT ANY
             ADD is_cdc_enabled (any) OPT ANY
             ADD is_encrypted (any) OPT ANY
             ADD is_honor_broker_priority_on (any) OPT ANY
             ADD replica_id (any) OPT ANY
             ADD group_database_id (any) OPT ANY
             ADD resource_pool_id (any) OPT ANY
             ADD default_language_lcid (any) OPT ANY
             ADD default_language_name (any) OPT ANY
             ADD default_fulltext_language_lcid (any) OPT ANY
             ADD default_fulltext_language_name (any) OPT ANY
             ADD is_nested_triggers_on (any) OPT ANY
             ADD is_transform_noise_words_on (any) OPT ANY
             ADD two_digit_year_cutoff (any) OPT ANY
             ADD containment (any) OPT ANY
             ADD containment_desc (any) OPT ANY
             ADD target_recovery_time_in_seconds (any) OPT ANY
             ADD delayed_durability (any) OPT ANY
             ADD delayed_durability_desc (any) OPT ANY
             ADD is_memory_optimized_elevate_to_snapshot_on (any) OPT ANY
             ADD is_federation_member (any) OPT ANY
             ADD is_remote_data_archive_enabled (any) OPT ANY
             ADD is_mixed_page_allocation_on (any) OPT ANY
             ADD is_temporal_history_retention_enabled (any) OPT ANY
             ADD catalog_collation_type (any) OPT ANY
             ADD catalog_collation_type_desc (any) OPT ANY
             ADD physical_database_name (any) OPT ANY
             ADD is_result_set_caching_on (any) OPT ANY
             ADD is_accelerated_database_recovery_on (any) OPT ANY
             ADD is_tempdb_spill_to_remote_store (any) OPT ANY
             ADD is_stale_page_detection_on (any) OPT ANY
             ADD is_memory_optimized_enabled (any) OPT ANY
             ADD is_data_retention_enabled (any) OPT ANY
             ADD is_ledger_on (any) OPT ANY
             ADD is_change_feed_enabled (any) OPT ANY
             ADD owner_sid NOS ZERO ()
        )
        OUTPUTLIST (catalog_collation_type, catalog_collation_type_desc, collation_name, compatibility_level, containment, containment_desc, create_date, database_id, default_fulltext_language_lcid, default_fulltext_language_name, default_language_lcid, default_language_name, delayed_durability, delayed_durability_desc, group_database_id, is_accelerated_database_recovery_on, is_ansi_null_default_on, is_ansi_nulls_on, is_ansi_padding_on, is_ansi_warnings_on, is_arithabort_on, is_auto_close_on, is_auto_create_stats_incremental_on, is_auto_create_stats_on, is_auto_shrink_on, is_auto_update_stats_async_on, is_auto_update_stats_on, is_broker_enabled, is_cdc_enabled, is_change_feed_enabled, is_cleanly_shutdown, is_concat_null_yields_null_on, is_cursor_close_on_commit_on, is_data_retention_enabled, is_date_correlation_on, is_db_chaining_on, is_distributor, is_encrypted, is_federation_member, is_fulltext_enabled, is_honor_broker_priority_on, is_in_standby, is_ledger_on, is_local_cursor_default, is_master_key_encrypted_by_server, is_memory_optimized_elevate_to_snapshot_on, is_memory_optimized_enabled, is_merge_published, is_mixed_page_allocation_on, is_nested_triggers_on, is_numeric_roundabort_on, is_parameterization_forced, is_published, is_query_store_on, is_quoted_identifier_on, is_read_committed_snapshot_on, is_read_only, is_recursive_triggers_on, is_remote_data_archive_enabled, is_result_set_caching_on, is_stale_page_detection_on, is_subscribed, is_supplemental_logging_enabled, is_sync_with_backup, is_tempdb_spill_to_remote_store, is_temporal_history_retention_enabled, is_transform_noise_words_on, is_trustworthy_on, log_reuse_wait, log_reuse_wait_desc, name, owner_sid, page_verify_option, page_verify_option_desc, physical_database_name, recovery_model, recovery_model_desc, replica_id, resource_pool_id, service_broker_guid, snapshot_isolation_state, snapshot_isolation_state_desc, source_database_id, state, state_desc, target_recovery_time_in_seconds, two_digit_year_cutoff, user_access, user_access_desc
        )
        WRAPPER (jdbc b_databases)
    );


-- 16. インターフェイスビュー作成


CREATE OR REPLACE INTERFACE VIEW i_databases (
        name:text (sourcetypesize = '128', sourcetypeid = '-9'),
        database_id:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        source_database_id:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        owner_sid:blob (sourcetypesize = '85', sourcetypeid = '-3', contenttype = 'autodetect'),
        create_date:timestamp (sourcetypedecimals = '3', sourcetypesize = '23', sourcetypeid = '93'),
        compatibility_level:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        collation_name:text (sourcetypesize = '128', sourcetypeid = '-9'),
        user_access:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        user_access_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_read_only:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_auto_close_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_auto_shrink_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        state:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        state_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_in_standby:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_cleanly_shutdown:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_supplemental_logging_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        snapshot_isolation_state:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        snapshot_isolation_state_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_read_committed_snapshot_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        recovery_model:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        recovery_model_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        page_verify_option:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        page_verify_option_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_auto_create_stats_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_auto_create_stats_incremental_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_auto_update_stats_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_auto_update_stats_async_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_ansi_null_default_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_ansi_nulls_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_ansi_padding_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_ansi_warnings_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_arithabort_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_concat_null_yields_null_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_numeric_roundabort_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_quoted_identifier_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_recursive_triggers_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_cursor_close_on_commit_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_local_cursor_default:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_fulltext_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_trustworthy_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_db_chaining_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_parameterization_forced:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_master_key_encrypted_by_server:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_query_store_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_published:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_subscribed:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_merge_published:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_distributor:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_sync_with_backup:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        service_broker_guid:text (sourcetypesize = '36', sourcetypeid = '1'),
        is_broker_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        log_reuse_wait:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        log_reuse_wait_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_date_correlation_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_cdc_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_encrypted:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_honor_broker_priority_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        replica_id:text (sourcetypesize = '36', sourcetypeid = '1'),
        group_database_id:text (sourcetypesize = '36', sourcetypeid = '1'),
        resource_pool_id:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        default_language_lcid:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '5', sourcetypeid = '5'),
        default_language_name:text (sourcetypesize = '128', sourcetypeid = '-9'),
        default_fulltext_language_lcid:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        default_fulltext_language_name:text (sourcetypesize = '128', sourcetypeid = '-9'),
        is_nested_triggers_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_transform_noise_words_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        two_digit_year_cutoff:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '5', sourcetypeid = '5'),
        containment:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '3', sourcetypeid = '-6'),
        containment_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        target_recovery_time_in_seconds:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        delayed_durability:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        delayed_durability_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        is_memory_optimized_elevate_to_snapshot_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_federation_member:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_remote_data_archive_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_mixed_page_allocation_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_temporal_history_retention_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        catalog_collation_type:int (sourcetypedecimals = '0', sourcetyperadix = '10', sourcetypesize = '10', sourcetypeid = '4'),
        catalog_collation_type_desc:text (sourcetypesize = '60', sourcetypeid = '-9'),
        physical_database_name:text (sourcetypesize = '128', sourcetypeid = '-9'),
        is_result_set_caching_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_accelerated_database_recovery_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_tempdb_spill_to_remote_store:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_stale_page_detection_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_memory_optimized_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_data_retention_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_ledger_on:boolean (sourcetypesize = '1', sourcetypeid = '-7'),
        is_change_feed_enabled:boolean (sourcetypesize = '1', sourcetypeid = '-7')
    )
    SET IMPLEMENTATION b_databases
    FOLDER = '/03iv';


-- 17. 動作確認

SELECT * FROM GET_ELEMENTS()
where input_database_name = 'db05'
;

 

SELECT * FROM db05.b_databases CONTEXT('cache_wait_for_load' = 'true') TRACE

SELECT * FROM db05.i_databases CONTEXT('cache_wait_for_load' = 'true') TRACE


-------- Azure側作業

-- 18. クリーンアップ


az group list

az group delete \
--name rg9999999 \
--yes