【IT168 专稿】在云计算的应用环境中,云应用的开发者只需要把云应用程序开发出来,在条件成熟的时候部署到云端去。支撑应用程序运行的通常是关系型数据库,如在普通的Asp.Net或者Windows Form应用程序中,经常使用SQL Server来做应用数据库支持,在云应用程序中,我们可以使用SQL Azure作为云端的数据库。
SQL Azure可以在任何时间提供客户数据应用,帮助用户简化多数据库的创建和部署,开发人员无需安装、设置数据库软件,也不必为数据库打补丁或进行管理;为用户提供了内置的高可用性和容错能力,且无需客户进行实际管理;支持TDS和Transact- SQL(T- SQL),客户可以使用现有技术在T–SQL上进行开发,还可以使用与现有的客户自有数据库软件相对应的关系型数据模型。
但是我们不能被SQL Azure所具有的功能所误导,想当然的认为它已经替我们干了所有的事情,云应用服务提供者只是创建SQL Azure的数据库,然后就像使用本地数据库一样使用它而不去管其它有关数据库性能方面的问题了。保证数据库性能和健康状况是应用程序及其数据正常和高效运行的两大法宝,因此需要云服务提供者去了解如何监控SQL Azure的性能,本文中就来讨论一下这个问题。
动态管理视图和函数
动态管理视图返回了当前运行的数据库实例的健康检查、诊断和性能状况。目前有2种类型的动态数据管理视图和函数:
服务器范围(Server-Scoped)的动态管理视图和函数
数据库范围(Database-Scoped)的动态管理视图和函数
现在已经提供的动态管理视图和函数如表1所示:
动态管理视图或函数 | 示例视图或函数 |
改变捕获数据 | sys.dm_cdc_log_scan_sessions sys.dm_cdc_errors |
变化跟踪 | sys.dm_tran_commit_table |
通用语言运行时 | sys.dm_clr_appdomains sys.dm_clr_properties |
数据监控 | sys.dm_db_mirroring_connections sys.dm_db_mirroring_auto_page_repair |
数据库相关 | sys.dm_db_file_space_usage sys.dm_db_session_space_usage |
执行相关 | sys.dm_exec_background_job_queue sys.dm_exec_query_optimizer_info sys.dm_exec_background_job_queue sys.dm_exec_query_plan sys.dm_exec_background_job_queue_stats sys.dm_exec_query_resource_semaphores |
扩展事件 | sys.dm_xe_map_values sys.dm_xe_session_events |
全文检索 | sys.dm_fts_active_catalogs sys.dm_fts_fdhosts sys.dm_fts_index_keywords_by_document |
索引 | sys.dm_db_index_operational_stats sys.dm_db_index_physical_stats |
文件流 | sys.dm_filestream_file_io_handles sys.dm_filestream_file_io_requests |
I/O | sys.dm_io_backup_tapes sys.dm_io_cluster_shared_drives |
对象 | sys.dm_sql_referenced_entities sys.dm_sql_referencing_entities |
查询提醒 | sys.dm_qn_subscriptions |
复制 | sys.dm_repl_articles sys.dm_repl_schemas |
资源管理 | sys.dm_resource_governor_configuration sys.dm_resource_governor_workload_groups |
Service Broker | sys.dm_broker_activated_tasks sys.dm_broker_connections |
SQL Server实例操作系统 | sys.dm_os_buffer_descriptors sys.dm_os_memory_pools |
事务 | sys.dm_tran_active_snapshot_database_transactions sys.dm_tran_active_transactions |
安全 | sys.dm_audit_actions sys.dm_cryptographic_provider_properties |
在这些SQL Server动态管理视图和函数中,目前SQL Azure上提供的动态管理视图和函数仅有三种:
Database-related dynamic management views,数据库相关动态管理视图
Execution-related dynamic management views,执行相关动态管理视图
Transaction-related dynamic management views,事务相关动态管理视图
由此可以可见,SQL Azure上目前开放出来的数据库动态管理视图远远不能和本地环境中的SQL Server数据库动态管理视图和函数相比。