diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java index 401fa1d634..876303ee50 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java @@ -85,8 +85,67 @@ public class SQLServerAdapter extends SybaseAdapter { private final List SYSTEM_SCHEMAS = Arrays.asList( "db_accessadmin", "db_backupoperator", "db_datareader", "db_datawriter", "db_ddladmin", "db_denydatareader", - "db_denydatawriter","dbo", "sys", "db_owner", "db_securityadmin", "guest", - "INFORMATION_SCHEMA" + "db_denydatawriter", "sys", "db_owner", "db_securityadmin", "INFORMATION_SCHEMA" + ); + + private final List SYSTEM_CATALOGS = Arrays.asList( + // master dbo + "MSreplication_options", "spt_fallback_db", "spt_fallback_dev", "spt_fallback_usg", "spt_monitor", + // msdb dbo + "autoadmin_managed_databases", "autoadmin_master_switch", "autoadmin_system_flags", + "autoadmin_task_agent_metadata", "autoadmin_task_agents", "backupfile", + "backupfilegroup", "backupmediafamily", "backupmediaset", "backupset", + "dm_hadr_automatic_seeding_history", "external_libraries_installed", + "log_shipping_monitor_alert", "log_shipping_monitor_error_detail", + "log_shipping_monitor_history_detail", "log_shipping_monitor_primary", + "log_shipping_monitor_secondary", "log_shipping_primaries", + "log_shipping_primary_backupserver", "log_shipping_primary_databases", + "log_shipping_primary_secondaries", "log_shipping_secondaries", + "log_shipping_secondary", "log_shipping_secondary_databases", + "logmarkhistory", "msdb_version", "MSdbms", "MSdbms_datatype", + "MSdbms_datatype_mapping", "MSdbms_map", + "restorefile", "restorefilegroup", "restorehistory", "smart_backup_files", + "sqlagent_info", "suspect_pages", "sysalerts", "syscachedcredentials", + "syscategories", "syscollector_blobs_internal", "syscollector_collection_items_internal", + "syscollector_collection_sets_internal", "syscollector_collector_types_internal", + "syscollector_config_store_internal", "syscollector_execution_log_internal", + "syscollector_execution_stats_internal", "syscollector_tsql_query_collector", + "sysdac_history_internal", "sysdac_instances_internal", "sysdbmaintplan_databases", + "sysdbmaintplan_history", "sysdbmaintplan_jobs", "sysdbmaintplans", + "sysdownloadlist", "sysjobactivity", "sysjobhistory", "sysjobs", "sysjobschedules", + "sysjobservers", "sysjobsteps", "sysjobstepslogs", "sysmail_account", "sysmail_attachments", + "sysmail_attachments_transfer", "sysmail_configuration", "sysmail_log", "sysmail_mailitems", + "sysmail_principalprofile", "sysmail_profile", "sysmail_profileaccount", "sysmail_query_transfer", + "sysmail_send_retries", "sysmail_server", "sysmail_servertype", "sysmaintplan_log", + "sysmaintplan_logdetail", "sysmaintplan_subplans", "sysmanagement_shared_registered_servers_internal", + "sysmanagement_shared_server_groups_internal", "sysnotifications", "sysoperators", + "sysoriginatingservers", "syspolicy_conditions_internal", "syspolicy_configuration_internal", + "syspolicy_execution_internal", "syspolicy_facet_events", "syspolicy_management_facets", + "syspolicy_object_sets_internal", "syspolicy_policies_internal", "syspolicy_policy_categories_internal", + "syspolicy_policy_category_subscriptions_internal", "syspolicy_policy_execution_history_details_internal", + "syspolicy_policy_execution_history_internal", "syspolicy_system_health_state_internal", + "syspolicy_target_set_levels_internal", "syspolicy_target_sets_internal", "sysproxies", + "sysproxylogin", "sysproxysubsystem", "sysschedules", "syssessions", "sysssislog", + "sysssispackagefolders", "sysssispackages", "syssubsystems", "systargetservergroupmembers", + "systargetservergroups", "systargetservers", "systaskids", "sysutility_mi_configuration_internal", + "sysutility_mi_cpu_stage_internal", "sysutility_mi_dac_execution_statistics_internal", + "sysutility_mi_session_statistics_internal", "sysutility_mi_smo_objects_to_collect_internal", + "sysutility_mi_smo_properties_to_collect_internal", "sysutility_mi_smo_stage_internal", + "sysutility_mi_volumes_stage_internal", "sysutility_ucp_aggregated_dac_health_internal", + "sysutility_ucp_aggregated_mi_health_internal", "sysutility_ucp_computer_cpu_health_internal", + "sysutility_ucp_computers_stub", "sysutility_ucp_configuration_internal", + "sysutility_ucp_cpu_utilization_stub", "sysutility_ucp_dac_file_space_health_internal", + "sysutility_ucp_dac_health_internal", "sysutility_ucp_dacs_stub", "sysutility_ucp_databases_stub", + "sysutility_ucp_datafiles_stub", "sysutility_ucp_filegroups_stub", + "sysutility_ucp_filegroups_with_policy_violations_internal", "sysutility_ucp_health_policies_internal", + "sysutility_ucp_logfiles_stub", "sysutility_ucp_managed_instances_internal", + "sysutility_ucp_mi_database_health_internal", "sysutility_ucp_mi_file_space_health_internal", + "sysutility_ucp_mi_health_internal", "sysutility_ucp_mi_volume_space_health_internal", + "sysutility_ucp_policy_check_conditions_internal", "sysutility_ucp_policy_target_conditions_internal", + "sysutility_ucp_policy_violations_internal", "sysutility_ucp_processing_state_internal", + "sysutility_ucp_smo_servers_stub", "sysutility_ucp_snapshot_partitions_internal", + "sysutility_ucp_space_utilization_stub", "sysutility_ucp_supported_object_types_internal", + "sysutility_ucp_volumes_stub" ); public SQLServerAdapter(@Inject RuntimeProperties runtimeProperties, @@ -129,6 +188,11 @@ public SQLAction getAction(Query query, DataNode node) { return query.createSQLAction(new SQLServerActionBuilder(node, getVersion())); } + @Override + public List getSystemCatalogs() { + return SYSTEM_CATALOGS; + } + @Override public List getSystemSchemas() { return SYSTEM_SCHEMAS;