viernes, 11 de julio de 2014

How to Automate collecting Perfmon Counters of Interest

SQL Server

http://slavasql.blogspot.co.uk/2014/06/perfmon-counters-of-interest.html



How to Automate collecting Perfmon Counters of Interest

For more than two years I've tried to use wonderful poster made by Kevin Kline and Brent Ozar.
Click to get the poster

I've got several of these posters on SQL Saturday events. I've redistributed them between my friends and coworkers, but never was really able to use it in full capacity.

There are almost 100 counters that you have to setup in Perfmon and after setting just 10 you are alreeady lost.

 Last week I attended presentation of Kun Lee about automation of perfmon onBaltimore SQL Server User Group meeting. Kun showed how to use configuration file to set perfmon counters and I've used that technic for "Counters of Interest".

 Based on the Poster I've created "SQLDataCollector.config" file.
Inside it looks like this:
"\\YOUR_SQL_SERVER\Memory\Available MBytes"
"\\YOUR_SQL_SERVER\Memory\Pages Input/sec"
"\\YOUR_SQL_SERVER\Memory\Pages/sec"
"\\YOUR_SQL_SERVER\Paging File\% Usage"
"\\YOUR_SQL_SERVER\Paging File\% Usage Peak"
"\\YOUR_SQL_SERVER\Process(sqlservr)\% Processor Time"
"\\YOUR_SQL_SERVER\Process(msmdsrv)\% Processor Time"
"\\YOUR_SQL_SERVER\Processor(_Total)\% Processor Time"
"\\YOUR_SQL_SERVER\Processor(_Total)\% Privileged Time"

You have to replace word "YOUR_SQL_SERVER" by name of your SQL Server or by it's IP address.

Then I used simple "loading" command:
logman create counter BASELINE -f csv -max 200 -si 00:01:00 -b 06/19/2014 11:06:00AM  -v mmddhhmm -o "C:\Temp\Test\Perfmon\Perfmon.csv" -cf "C:\Temp\Test\Perfmon\SQLDataCollector.config"

In order to use it you have to modify following:
-0 - Location and name of resulting trace file;
-cf - Location of config file;  
-b Date and time when you want to run your monitoring. If you want to start trace manually you can start perfmon.exe and run your trace from there:

Also, you can adjust data collecting interval which in mi case set as reccomended by Kun Lee a minute  (-si). There are much more options of "logman" to choose from, you can even set tracing to SQL Server.

Hope everybody now can use that poster much easier.


viernes, 4 de julio de 2014

Migrar Reporting Services 2005 a Reporting Services 2008

Migrar Reporting Services 2005 a Reporting Services 2008

http://www.mssqltips.com/sqlservertip/2692/migrating-sql-reporting-services-to-a-new-server-by-moving-the-reporting-services-databases/x



Escenario
Estamos en una casuistica de migrar SQL Reporting Services 2005 a un servidor nuevo SQL Reporting Services 2008. Me encontré con dos métodos para realizar esta tarea. Uno utilizando una herramienta de scripting que se puede encontrar aquí . El otro método es el recomendado por Microsoft. Este método se mueve físicamente la base de datos ReportServer al nuevo servidor. Entonces, ¿cómo movemos el Reporting Services 2005 a un Reporting Services 2008?

Solución
Si haces una búsqueda de cómo mover un servicio Reporting Services a un nuevo servidor se encuentra un documento de Microsoft que detalla los pasos necesarios. Haga clic en este enlace para ver el documento.
Partimos de un entorno simple, un único servidor SQL 2005 a un sólo SQL Server 2008 R2 sin implementación escalada, sin ensamblados personalizados y no hay valores de configuración personalizados.
Antes de iniciar la migración, asegúrese de estar al tanto de los cambios enumerados en el documento que puede afectar la acción de migrar la instalación.

Copia de seguridad de archivos y datos

Copia de seguridad de la clave de cifrado de la base de datos del servidor de informes.
La clave de cifrado del servidor de informes está accesible mediante el Administrador de configuración de Reporting Services. Para SQL 2005,  vaya a Inicio/Todos los programas/Herramientas de servidor de Microsoft SQL 2005/Configuration/ y haga clic en Configuración de Reporting Services. En el cuadro de diálogo Selección de Instancia, introducir el nombre de equipo y nombre de instancia y haga clic en Conectar.

Configuración de Reporting Services Manager

En el panel de navegación de las claves de cifrado seleccione Izquierda, a continuación, haga clic en Copia de seguridad. Introduzca una contraseña en el cuadro de diálogo Información de la clave de cifrado y haga clic en el botón junto al archivo de clave para especificar una ubicación y un nombre para el archivo de copia de seguridad clave.

Configuración de Reporting Services Manager

Haga clic en Salir para salir del Administrador de configuración de Reporting Services. Microsoft recomienda realizar copias de seguridad de los archivos de configuración del servidor de informes. En principio, para el proceso no se necesita el backup de estos archivos, pero por si acaso hay que realizarlos de todos modos. Aquí está una lista de los archivos y su ubicación en una instalación de SQL 2008 en la unidad E:.
  • RSReportServer.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • Rssvrpolicy.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • Web.config del servidor de informes
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • RSWebApplication.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • Rsmgrpolicy.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • Informe del Pesebre web.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
  • ReportingServicesService.exe.config
  • E:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin
  • Machine.config para ASP.NET si usted lo ha modificado
Copia de seguridad de la base de datos del servidor de informes.
Utilizando cualquier método admitido para realizar copias de seguridad de bases de datos SQL Server, realizar un backup tanto de ReportServer y como de ReportServerTempDB. En SQL Management Studio expanda Bases de datos y haga clic derecho en la base de datos ReportServer, seleccione Tareas y seleccione Copia de seguridad....

SQL Management Studio

Asegúrese de que el Tipo de copia de seguridad está establecido en Full y especifique una ubicación y nombre de archivo para la copia de seguridad.

SQL Management Studio

Haga las mismas tareas de la base de datos ReportServerTempDB.

Nota: Si la base de datos utiliza el modelo de recuperación completa, utilice la siguiente secuencia de comandos para realizar copias de seguridad para evitar que se rompa la secuencia de copias de seguridad. Con 'COPY_ONLY' se puede realizar una única copia de respaldo sin romper esta secuencia:

ReportServer Database Backup en disco = 'E: \ Temp \ ReportServer_04192012.bak' Con COPY_ONLY

Mueva las base de datos del servidor origen al destino

Si va a mover las bases de datos a un servidor que nunca ha sido sede de los servicios de informes de SQL, se necesita para crear el RSExecRole. Haga clic en este enlace para obtener instrucciones.

Cuando esté listo, restaure las bases de datos ReportServer y ReportServerTempDB al nuevo servidor. En mi caso estoy reemplazando las bases de datos del servidor de informes existentes. En SQL Management Studio ampliar las bases de datos y haga clic derecho en la base de datos ReportServer, en el menú emergente seleccione Tareas/Restaurar/Base de datos.

SQL Management Studio

Realice las entradas en el cuadro de diálogo Restaurar base de datos apropiada para la copia de seguridad que se realizó. En mi caso, es un archivo almacenado en el disco local.

Nota: Para obtener acceso exclusivo a la base de datos hay que realizar previamente un kill de los proceoss sobre la bbdd a restaurar.

SQL Management Studio

En la página Opciones, marcar 'Sobrescribir la base de datos existente (WITH REPLACE)', deje la base de datos lista para su uso y utilizar los botones de la sección "Restaurar como" para localizar los archivos físicos de base de datos (ya existente. MDF y LDF. ).

SQL Management Studio

Una vez que la base de datos ReportServer se ha restaurado Repita el proceso para la base de datos ReportServerTempDB. Si la instalación de informes incluye elementos personalizados debe volver a desplegar esos elementos, consulte el 'Mover Assemblies o Extensiones Personalizadas' en la sección del documento. Mi instalación no incluye elementos personalizados, así que no voy a saltarme esta sección.
Ahora que las bases de datos y objetos personalizados (si los hay) se han movido debe utilizar la herramienta de configuración de servicios de informes para configurar Reporting Services. Vaya a Inicio/Todos los programas/Microsoft SQL Server 2008 R2/Configuration Herramientas y haga clic en Administrador de configuración de Reporting Services. Introduzca el nombre del servidor y la instancia en el cuadro de diálogo de conexión Configuración de Reporting Services y haga clic en Conectar.

Configuración de Reporting Services Manager

Si ha detenido el servicio de Reporting Services durante el proceso de restauración, haga clic en el botón Inicio para iniciar el servicio. Configure las direcciones URL para el servidor de informes y Administrador de informes como sea necesario, las instrucciones se pueden encontrar en el documento de Migración del Servidor de informes de la sección Configurar. Si pPara Reporting Services hay una base de datos diferente, debe pasar por el proceso Configurar base de datos. En el panel de navegación haga clic en Base de datos a continuación, haga clic en el botón Cambiar base de datos.

Configuración de Reporting Services Manager

Las siguientes imágenes muestran las pantallas y la configuración al configurar la base de datos.

Configuración de Reporting Services Manager
Configuración de Reporting Services Manager
Configuración de Reporting Services Manager
Configuración de Reporting Services Manager
Configuración de Reporting Services Manager
Configuración de Reporting Services Manager

Ahora hay que restaurar la clave de cifrado de la base de datos que ha restaurado. En el panel de navegación del Administrador de configuración de Reporting Services, seleccione Claves de cifrado y haga clic en el botón Restaurar. En el cuadro de diálogo Restaurar clave de cifrado, haga clic en el botón ... para localizar el archivo que ha creado al realizar copias de seguridad de la clave de cifrado del servidor que está migrando, introduzca la contraseña que utilizó y haga clic en el botón Aceptar.

Configuración de Reporting Services Manager

Ahora aquí es donde vienen los problemas. De acuerdo con el documento de migración, las cosas una vez que la clave de cifrado se ha restaurado deberían estar funcionando. Cuando traté de acceder a mi servidor de informes se produce un error que dice:

'The feature: "Scale-out deployment" is not supported in this edition of Reporting Services.

Abrí el Administrador de configuración de Reporting Services y hacer clic en Scale-out deployment en el panel de navegación y vi que había dos servidores de la lista, el viejo y el nuevo.

Configuración de Reporting Services Manager

No he encontrado ninguna mención de ello en el documento de migración. Después de buscar en Internet encontré algunos artículos que describen el tema y la corrección. Hay un par de maneras de solucionar esto, pero la más sencilla es eliminar el registro correspondiente al viejo servidor en la tabla de esta sección. Una vez eliminado el registro para el antiguo servidor de Reporting Services comenzó a funconar como se esperaba.