Si usted tiene un servidor de SQL Server 2005 SP2 se puede instalar informes personalizados, y en particular los informes de ejecución de Dashboard que ofrece Microsoft. Estos informes proporcionan información sobre el estado del servidor y los factores limitantes, tales consultas consumen la mayoría de la CPU o el acceso a disco, o sugerencias acerca de cómo crear índices que faltan.
En este artículo voy a describir cómo instalar estos informes, sino también corregir dos errores molestos.
Lo primero que debes hacer es descargar el archivo de instalación en el sitio Microsoft e instalarlo en su servidor. De forma predeterminada los informes se instalan en C: \ Archivos de programa \ Microsoft SQL Server \ 90 \ ToolsPerformanceDashboard. A continuación, edite el archivo setup.sql encuentra en este directorio y reemplazar el código:
suma (convertir (bigint, datediff ms (, login_time, ()))) getdate - suma (convertir (bigint, s.total_elapsed_time)) como idle_connection_time, por
suma (convertir (bigint, minuto CAST (DATEDIFF (, login_time, getdate ()) AS BIGINT) * 60000 + DATEDIFF (milisegundo, DATEADD (minuto, DATEDIFF (minuto, login_time, getdate ()), login_time), getdate ()) )) - suma (convertir (bigint, s.total_elapsed_time)) como idle_connection_time, Esto corrige un error "diferencia de dos columnas de fecha y hora provocó desbordamiento en tiempo de ejecución" cuando se carga la página principal del informe, que se produce cuando el tiempo de actividad del servidor de 3-4 semanas 1 .
Para el segundo error fijar para crear, editar el archivo y reemplazar el código recent_cpu.rdl de una línea a 3271 y 3305 por:
a partir de (s.session_id seleccionar, r.request_id, s.login_time - s.host_name, s.program_name, s.login_name, s.status como session_status, s.last_request_start_time, s.last_request_end_time, han s.cpu_time session_cpu_time, r . cpu_time han request_cpu_time - s.logical_reads han session_logical_reads - r.logical_reads han request_logical_reads, r.start_time han request_start_time, r.status han request_status, r.command, master.dbo.fn_varbintohexstr (r.sql_handle) han sql_handle, master.dbo.fn_varbintohexstr (r.plan_handle) han plan_handle, r.statement_start_offset, r.statement_end_offset, caja - Steve: Corrige empezar por aquí: cuando convertir (bigint, CAST ((minuto DATEDIFF, start_time, getdate ()) AS BIGINT) * 60000 + DATEDIFF (milisegundo, DATEADD (minuto, DATEDIFF (minuto, start_time, getdate ()), start_time), getdate ()))> 0 a continuación, convertir (float, r.cpu_time) / convertir (bigint, CAST (DATEDIFF ( minutos, start_time, getdate ()) AS BIGINT) * 60000 + DATEDIFF (milisegundo, DATEADD (minuto, DATEDIFF (minuto, start_time, getdate ()), start_time), getdate ())) otra cosa convertir (float, 1,0) como final avg_request_cpu_per_ms, isnull (datediff (ms, CASO CUANDO <r.start_time @ @ WithActivitySince Luego WithActivitySince otro extremo r.start_time, getdate ()), 0) tienen request_ms_in_window, CASO CUANDO s.login_time> getdate () a continuación, convertir (float, s . cpu_time) / (datediff (dd, s.login_time, getdate ()) * emitidos (86,4 millones como bigint) + datediff (ms, DateAdd (dd, datediff (dd, s.login_time, getdate ()), s.login_time) , getdate ())) otra cosa convertir (float, 1,0) como avg_session_cpu_per_ms final, convertir (bigint, isnull (datediff (s, CASO CUANDO <s.login_time @ @ WithActivitySince Luego WithActivitySince otro extremo s.login_time, CUANDO SE CASO r.request_id null entonces s.last_request_end_time otra getdate () end), 0)) * 1000 han session_ms_in_window de sys.dm_exec_sessions s unirse a la izquierda sys.dm_exec_requests tenemos r = s.session_id r.session_id y s.session_id = 1 - Steve: Soluciones termina aquí donde (s.last_request_end_time> @ r.request_id oro WithActivitySince no es nula)) en cuanto a donde (* request_ms_in_window avg_request_cpu_per_ms) + (* session_ms_in_window avg_session_cpu_per_ms)> 1000,0 </ CommandText> <QueryParameters> <Nombre QueryParameter = "@ WithActivitySince" > <Valor> Parámetros = <WithActivitySince.Value / valor> </> <QueryParameter / QueryParameters> <DataSourceName> DataSource1 </> <dataSourceName /> Consulta Aborda el mismo tipo de problema antes, esta vez al hacer clic en las zonas azules (SQL) Gráfico del sistema Uso de la CPU en la página principal del informe dos .
Para descargar los informes, haga clic simplemente en el SP2 de SQL Server 2005 del servidor en que se hizo la instalación ya continuación, seleccione Informes> Informes personalizados y, a continuación, seleccione el archivo C: \ Archivos de programa \ Microsoft SQL Server \ 90 \ Herramientas \ PerformanceDashboard \ performance_dashboard_main.rdl. Si desea utilizar este informe para un cliente tendrá que compartir el directorio.
- Fuente: http://blogs.msdn.com/sqlrem/archive/2007/03/07/Performance-Dashboard-Reports-Now-Available.aspx [ ↩ ]
- Fuente: http://blogs.msdn.com/sqlrem/archive/2007/03/07/Performance-Dashboard-Reports-Now-Available.aspx [ ↩ ]











