SQL Server 学习系列之一
2013-11-23 23:33
609 查看
select @@VERSION select * from sys.dm_exec_requests --资源监视器 DMV select tb.status ,tb.command ,tb.statement_end_offset from sys.dm_os_workers ta,sys.dm_exec_requests tb where ta.task_address=tb.task_address select parent_node_id --调度器所属节点的ID,表示非一致性内存访问节点(NUMA) ,scheduler_id--调度器的ID ,cpu_id ,is_online--0表示此调度器不会用来处理查询或批 ,current_tasks_count ,current_workers_count--线程数 ,active_workers_count ,work_queue_count ,pending_disk_io_count--挂起的I/O数 load_factor --内部值,指示此调度器感觉到的负载 from sys.dm_os_schedulers --视图为每个调度器返回一行 select is_preemptive --1=正在抢先计划运行工作线程 ,is_fiber --1=正在以轻型池运行的工作线程 ,* from sys.dm_os_workers --视图为每个工作任务返回一行 select started_by_sqlservr --线程发起方 0:由其他组件启动(如,扩展进程);1:SQL已启动进程 ,creation_time ,stack_bytes_committed ,affinity --进程在其运行的CPU掩码,取决于sp_configure affinity mask 配置选项中的值 ,locale --线程的缓冲的区域设置为LCID from sys.dm_os_threads --返回在SQL Server进程中的所有SQLOS线程列表 select task_state --SUSPENDED:具有工作线程,但正在等待事件 --RUNNING:当前正在调度器中运行 --DONE:已完成 --PENDING:正在等待的工作线程 --RUNNABLE:可运行,但正在等待接收量程 --SPINLOOP:当等待一个信号时,陷入自旋锁 ,context_switches_count ,pending_io_count --此任务执行的物理I/O数 ,pending_io_byte_average ,pending_io_byte_count ,scheduler_id --父调度器ID ,session_id --与任务关联的会话ID from sys.dm_os_tasks--为实例上每一个活动的任务返回一行 select session_id ,exec_context_id--与任务关联的执行上下文的ID ,wait_duration_ms ,wait_type ,resource_address ,blocking_session_id ,blocking_exec_context_id--正在阻塞的任务的执行上下文的ID ,resource_description from sys.dm_os_waiting_tasks --返回正在等待资源的任务队列的信息 select * from sys.tcp_endpoints ta,sys.dm_exec_sessions tb where ta.endpoint_id=tb.endpoint_id select removed_last_round_count,* from sys.dm_os_memory_cache_clock_hands --内存经纪(Broker):分析SQL Server 有关内存消耗的行为并改善动态内存分配的 select * from sys.dm_os_ring_buffers where ring_buffer_type='RING_BUFFER_MEMORY_BROKER' --显示一个内存组件使用了多少缓存池之外的空间 select type ,SUM(multi_pages_kb) as 'total(kb)' from sys.dm_os_memory_clerks where multi_pages_kb!=0 group by type select SUM(multi_pages_kb)/1024.0 as 'total(M)' from sys.dm_os_memory_clerks where multi_pages_kb!=0 select distinct type from sys.dm_os_memory_clerks select physical_memory_in_bytes--/(8.0*1024*1024*1024) --可用物理内存的数量 ,virtual_memory_in_bytes--/(8.0*1024*1024*1024) --对用户模式进程可用的虚拟内存的数量,通过3G开关,可以用它来确定SQLServer是否启动 ,bpool_committed --缓冲池中的8K缓冲区数:已提交的物理内存 ,bpool_commit_target --缓存池中最优的缓冲区数量 ,bpool_visible from sys.dm_os_sys_info --动态管理视图 select single_pages_kb ,single_pages_in_use_kb ,multi_pages_kb ,multi_pages_in_use_kb ,entries_count--缓存中的条目数 ,entries_in_use_count ,* from sys.dm_os_memory_cache_counters --为用户存储仓库和高速缓冲仓库类型的每个高速缓冲返回一份关于其健康情况的快照 select buckets_count --哈希表中的存储桶数 ,buckets_in_use_count ,buckets_min_length ,buckets_max_length ,buckets_avg_length --如果这个数字很大,可能意味着所用的哈希算法不太理想 ,buckets_avg_scan_hit_length --如果这个数字很大,可能意味着高速缓存并不是最优的 --详见http://technet.microsoft.com/zh-cn/library/ms178529.aspx from sys.dm_os_memory_cache_hash_tables --为SQL Server实例中的每个活动的高速缓存返回一行 --A.从资源调控器池缓存释放未使用的缓存条目 --下面的示例说明如何清除专属于某个指定资源调控器资源池的缓存。 DBCC FREESYSTEMCACHE ('ALL'); --B.当不再使用条目后,将它们分别从其各自所属的缓存中释放 --下面的示例使用 MARK_IN_USE_FOR_REMOVAL 子句,在不再使用条目后将它们从所有当前缓存中释放。 DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL; select clock_hand --表类型:外部和内部 ,clock_status --时钟的状态:挂起和运行 ,rounds_count --时钟表针已经转过的圈数 ,removed_all_rounds_count --时钟表针在所有的周转中删除的条目数 from sys.dm_os_memory_cache_clock_hands --观察内存 dbcc memorystatus
本文出自 “IT学习之路” 博客,请务必保留此出处http://zhangbc.blog.51cto.com/6066576/1330580
相关文章推荐
- MongoDB实战(10)Replica Sets 副本集(下)
- Oracle EXPLAIN PLAN用法
- mysql学习笔记03 mysql数据类型
- oracle 直接复制表内容到新表
- SQL Server 学习系列之四(SQL 内幕)
- jsp中利用分页技术显示数据库内容
- POI 读取excel导入导出数据到数据库
- RMAN连接目标数据库及目录数据库
- oracle 一行变多行,pl/sql
- Oracle中to_char()函数的用法
- MySQL优化—工欲善其事,必先利其器之EXPLAIN
- oracle 使用exp命令 sys用户登录 导出表存为dmp文件
- mysql: 1045 access denied for user 'root'@'localhost' using password yes
- Asp.Net中使用Couchbase——Memcached缓存使用篇
- 【Oracle】Oracle概要文件
- 数据库连接的扩展以及动态切换
- mysql中information_schema是什么?
- 数据库学习体会和总结
- 读书笔记:数据库索引的设计原则
- 数据库注入攻击