设为首页 收藏本站
查看: 1506|回复: 0

[经验分享] SQL Server 学习系列之一

[复制链接]

尚未签到

发表于 2018-10-15 07:33:15 | 显示全部楼层 |阅读模式
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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-621668-1-1.html 上篇帖子: SQL Server 2008 收缩日志 下篇帖子: 总结 SQL SERVER , row_number()
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表