Azure SQL Database では、2026/05 付近から、データベースエンジンのバージョンが 17.x (SQL Server 2025 相当) から 18.x (v.Next) にバージョンアップが進められており、私の環境であれば本投稿の作成時点では「18.0.256.210」というデータベースエンジンのバージョンが使用されています。
先週ぐらいまではデータベーエンジンのバージョンは 18 が使用できるようになっていたのですが、互換性レベルは 170 までしか設定できないという状態となっていました。
先ほど、互換性レベル 180 が使用できるかを確認してみたところ、互換性レベル 180 も設定することができるようになったようです。
ALTER DATABASE CURRENT SET COMPATIBILITY_LEVEL = 180 GO
現時点では、互換性レベル 180 の情報は公開されていないようですが、https://github.com/microsoft/SqlScriptDOM/tree/main/release-notes/180 では、ScriptDOM に互換性レベル 180 についてのパーサーの実装が進んでいるようで、リリースノートから、どのような機能の実装が進んでいるのか多少なりとも確認をすることができるようです。
以下に、SQL Server 2025 と比較した情報を記載しておきたいと思います。
SQL Server 2025 との比較
DB レベルの構成の違い (sys.database_scoped_configurations)
sys.database_scoped_configurations に次の設定が追加されているようです。
| configuration_id | name | value | value_for_secondary | is_value_default |
| 48 | PREVIEW_FEATURES | 0 | NULL | 1 |
| 49 | ALLOW_STALE_VECTOR_INDEX | 0 | NULL | 1 |
| 51 | TIME_ZONE | LOCAL | NULL | 1 |
| 53 | ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS | 0 | NULL | 1 |
システムオブジェクトの違い
システムオブジェクトの差としては次のようなものがあります。
SQL Server との比較で実施しているため、18.x 以降で追加されるものだけでなく、SQL Server と SQL Database の差分についても抽出してしまっています。
VIEW
- sys.column_master_key_definitions
- sys.database_connection_stats_ex
- sys.database_event_session_actions
- sys.database_event_session_events
- sys.database_event_session_fields
- sys.database_event_session_targets
- sys.database_event_sessions
- sys.database_firewall_rules
- sys.database_resource_governor_configuration
- sys.database_resource_governor_workload_groups
- sys.database_service_objectives
- sys.devops_database_access
- sys.devops_database_principals
- sys.devops_principals
- sys.dm_cloud_database_epoch
- sys.dm_continuous_copy_status
- sys.dm_database_engine_configurations
- sys.dm_database_managed_identities
- sys.dm_database_replica_states
- sys.dm_db_index_persisted_usage_stats
- sys.dm_db_objects_impacted_on_version_change
- sys.dm_db_resource_governor_configuration
- sys.dm_db_resource_stats
- sys.dm_db_vector_indexes
- sys.dm_db_wait_stats
- sys.dm_db_workload_group_resource_stats
- sys.dm_elastic_pool_resource_stats
- sys.dm_geo_replication_link_status
- sys.dm_operation_status
- sys.dm_os_memory_block_allocator_stats
- sys.dm_resource_governor_resource_pools_history_ex
- sys.dm_resource_governor_workload_groups_history_ex
- sys.dm_user_db_resource_governance
- sys.dm_xe_database_session_event_actions
- sys.dm_xe_database_session_events
- sys.dm_xe_database_session_object_columns
- sys.dm_xe_database_session_targets
- sys.dm_xe_database_sessions
- sys.elastic_pool_resource_stats_ex
- sys.event_log_ex
- sys.federated_table_columns
- sys.federation_distributions
- sys.federation_member_distributions
- sys.federation_members
- sys.federations
- sys.ipv6_database_firewall_rules
- sys.ipv6_firewall_rules
- sys.query_store_plan_by_hash
- sys.query_store_query_hash_plan
- sys.query_store_query_hints_by_hash
- sys.resource_stats_raw
- sys.resource_usage
- sys.semantic_index_columns
- sys.semantic_indexes
- sys.sql_pools
SQL_INLINE_TABLE_VALUED_FUNCTION
- sys.dm_db_column_store_delete_bitmap
- sys.dm_db_column_store_row_group_tuple_map
- sys.dm_exec_query_shape
- sys.dm_hs_database_log_rate
- sys.dm_hs_database_replicas
- sys.dm_semantic_index_chunks
- sys.dm_semantic_index_embeddings_by_chunk
- sys.fn_change_feed_validate_columns_eligibility
- sys.fn_change_feed_validate_tables_eligibility
- sys.fn_xe_telemetry_blob_target_read_file
SQL_SCALAR_FUNCTION
- sys.fn_is_metrics_xel_caching_enabled
SQL_STORED_PROCEDURE
- sys.sp_change_feed_validate_db_eligibility
- sys.sp_deferred_deallocation_cleanup
- sys.sp_help_change_event_stream_operations_history
- sys.sp_help_change_feed_operations_history
- sys.sp_sproc_columns_170
INTERNAL_TABLE
- sys.database_firewall_rules_table
- sys.email_notifications
- sys.ipv6_database_firewall_rules_table
- sys.plan_persist_query_hash_plan
- sys.plan_persist_query_hints_by_hash
- sys.td_alerts_configuration
- sys.td_policies
- sys.td_state_injection_points_v2
- sys.td_state_meta_v2
- sys.td_state_patterns_v2
- sys.td_state_threats_v2
- sys.td_state_vulnerabilities_v2
- sys.wpr_bucket_table
EXTENDED_STORED_PROCEDURE
- sys.sp_ai_request
- sys.sp_cloud_connection_set_sds
- sys.sp_cloud_extensions_get_federated_users
- sys.sp_cloud_extensions_update_federated_username
- sys.sp_cloud_get_synapse_sql_pools
- sys.sp_cloud_impersonate_user
- sys.sp_cloud_notify_dw_event
- sys.sp_cloud_upgrade_in_post_sterling_migration
- sys.sp_cloud_upgrade_partition_from_v1
- sys.sp_delete_database_firewall_rule
- sys.sp_delete_firewall_rule
- sys.sp_delete_ipv6_database_firewall_rule
- sys.sp_delete_ipv6_firewall_rule
- sys.sp_execute_global_tran
- sys.sp_get_active_query_plan
- sys.sp_get_jobs_database_scoped_credential
- sys.sp_get_table_health_metrics
- sys.sp_maintenance_workflow
- sys.sp_query_store_clear_hints_by_hash
- sys.sp_query_store_force_plan_by_hash
- sys.sp_query_store_rebuild_indexes
- sys.sp_query_store_set_hints_by_hash
- sys.sp_query_store_unforce_plan_by_hash
- sys.sp_set_database_firewall_rule
- sys.sp_set_firewall_rule
- sys.sp_set_ipv6_database_firewall_rule
- sys.sp_set_ipv6_firewall_rule
- sys.sp_show_substrait_query_plan
- sys.sp_showmemo_for_qo_verify
- sys.sp_update_iq_object_version
- sys.sp_wait_for_database_copy_sync
オプティマイザーのルールの違い (sys.dm_exec_query_transformation_stats)
オプティマイザーのルールとしては次のようなルールが追加されているようです。
- AddJoinWithQuantizationTableOnANN
- ANNShowPlan
- ApplyTabUdfHoistExternalFn
- BuildANNPriorityQueue
- BuildANNPriorityQueueQuantized
- BuildANNSecondary
- CoprocessorPushLocalAgg
- CoprocLocalAggBelowFOJ
- CoprocLocalAggBelowJoin
- CoprocLocalAggBelowLOJ
- CoprocLocalAggBelowPrjJoin
- CorrelatedApplyWithPrj
- DynamicKNN
- EnforceCoprocessor
- FilterDeletedRowsFromANN
- ImplementCoprocessor
- ImpliedPredFromOrEquijoinLeft
- ImpliedPredFromOrEquijoinRight
- JNOrToUnionAll
- JsonFilterToJsonIndexImp
- RecencyQKNN
- ReRankANN
- WrapANNWithQuantizedQueryApply