SQL Server数据库引擎.NET CLR环境数据库管理员向导(2)
2007-05-15 09:27:52 来源:WEB开发网核心提示: ◆Productivity Tip.一个服务器运行多个SQL Server 实例处理的时候,每个CLR代码在列表中都不显著,SQL Server数据库引擎.NET CLR环境数据库管理员向导(2)(9),这时,应该将某一个实例连接到CLR,除了服务监控计数器,我们在SQL Server D
◆Productivity Tip
.一个服务器运行多个SQL Server 实例处理的时候,每个CLR代码在列表中都不显著,这时,应该将某一个实例连接到CLR,然后通过CPU的活动型来判别。
计数器有很多的设置帮助我们了解程序在SQL上运行时的健康性和活动型。
◆.NET CLR Exceptions –Exceptions/Sec 提供了一个对应用程序代码的早期警告,如果这个值比平时高(这个设置也可以用在正常的功能上),应用程序可能会失败。更深入的报告要去看错误日志。
◆.NET CLR Loading – SQL Server 使用AppDomain在数据库之间隔离代码。一个CLR 为程序提供了一个独立运行时。这个设置可以检测AppDomains和系统上加载的程序集的数量。这个值太大意味着“procedure cache”的压力过大。
◆.NET CLR Memory –提供了三种CLR内存的详细信息。这个计数器还可以检测CLR内存的使用情况,可以设置警告值。提示代码的问题,从而使代码使用较低的内存重新设计。
.NET Data Provider for SQL Server –提供了每秒的连接数和非连接数,在获取数据库级别的活动性方面非常有用。如下图这个计数器是数据库级别的。
除了服务监控计数器,我们在SQL Server Dynamic Management Views (DMV)中也可以得到大量SQL Server操作系统的数据的信息。下面是一些有用的查询。
-- Loaded Assemblies (run in each database)
SELECT sa.[name]
, ad.[appdomain_name]
, clr.[load_time]
FROM sys.dm_clr_loaded_assemblies AS clr
INNER JOIN sys.assemblies AS sa
ON clr.assembly_id = sa.assembly_id
INNER JOIN sys.dm_clr_appdomains AS ad
ON clr.appdomain_address = ad.appdomain_address
-- SQL CLR Memory Usage
SELECT mo.[type]
, sum(mo.pages_allocated_count * mo.page_size_in_bytes/1024)
AS N'Current KB'
, sum(mo.max_pages_allocated_count * mo.page_size_in_bytes/1024)
AS N'Max KB'
FROM sys.dm_os_memory_objects AS mo
WHERE mo.[type] LIKE '%clr%'
GROUP BY mo.[type]
ORDER BY mo.[type]
-- SQL CLR Wait Statistics
SELECT ws.*
FROM sys.dm_os_wait_stats AS ws
WHERE ws.wait_type LIKE '%clr%'
-- Requests that are currently in SQL CLR
SELECT session_id, request_id, start_time, status, command, database_id,
wait_type, wait_time, last_wait_type, wait_resource, cpu_time,
total_elapsed_time, nest_level, executing_managed_code
FROM sys.dm_exec_requests
WHERE executing_managed_code = 1
-- Query performance and time spent in SQL CLR.
SELECT
(SELECT text FROM sys.dm_exec_sql_text(qs.sql_handle)) AS query_text, qs.*
FROM sys.dm_exec_query_stats AS qs
WHERE qs.total_clr_time > 0
ORDER BY qs.total_clr_time desc
-- Obtaining CLR Execution performance counter values.
SELECT object_name, counter_name, cntr_value, cntr_type
FROM sys.dm_os_performance_counters
WHERE counter_name LIKE '%CLR%'
调试代码
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
赞助商链接