Definir Instancia por defecto en SSIS SQL Server 2008 R2


En algunas ocasiones nos encontramos con que en un mismo server instalamos varias instancias con distintos propósitos.
Al suceder esto, los productos «en común» ente ellas como son SSIS, SSRS, etc, se instalan una sola vez en la primer instancia y son compartidos por el resto.

Suele pasar, que al trabajar con las mismas, nos toque querer organizar nuestros paquetes de Integration Services para ciertas tareas, o simplemente, automatizar un Start Up de la misma para equiparar ambientes o realizar determinadas pruebas.

Si nos conectamos al servicio de Integration Services desde nuestra Microsoft SQL Server Management Studio, simplemente pondremos el nombre de nuestro Server y nos detallara todos aquellos paquetes que esten dentro del reinado de la base MSDB, pero realmente, a que instancia aplica, es difícil de encontrar.

Para saber esto, simplemente editamos nuestro archivo XML de configuración MsDtsSrvr.ini localizado en el siguiente directorio: C:\Program Files\Microsoft SQL Server\100\DTS\Binn
Editando el mismo, nos encontramos con la siguiente configuración:

<?xml version="1.0" encoding="utf-8"?>
<DtsServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <StopExecutingPackagesOnShutdown>true</StopExecutingPackagesOnShutdown>
  <TopLevelFolders>
    <Folder xsi:type="SqlServerFolder">
      <Name>MSDB</Name>
      <ServerName>.\Nombre_Instancia</ServerName>
    </Folder>
    <Folder xsi:type="FileSystemFolder">
      <Name>File System</Name>
      <StorePath>..\Packages</StorePath>
    </Folder>
  </TopLevelFolders>
</DtsServiceConfiguration>

Dentro de los Tags

<ServerName>.\Nombre_Instancia</ServerName>

podemos definir cual sera la lista de Paquetes que se mostrara dentro de nuestro Microsoft SQL Server Management Studio al momento de conectarnos al servicio de Integration Services.

Cuando terminemos de grabar nuestro cambio en el archivo, debemos reiniciar nuestro servicio de Integration Services dentro del SQL Server Configuration Manager.

Una vez detallada la lista de paquetes, podemos realizar importaciones y exportaciones de los mismos hacia y dentro de las instancias que queramos.

Liberar Memoria no usada en la Instancia SQL Server 2005/2008 R2


Se escribió mucho y se hizo poco al respecto, pero realmente, navegando por decenas de foros, la mayoría de los interrogantes al aberrante apetito de memoria del SQL Server desde que fue concebido es moneda corriente y problema de muchos.

La mayoría de la gente ofrece alternativas un tanto rusticas, como reiniciar la instancia y cosas así de violentes, que no solo nos pueden ocasionar un dolor de cabeza, sino también, dejar en el tendal todos los procesos que estaban corriendo.

Buscando y buscando no vi nada interesante hasta que se me ocurrio una idea….
Que pasa si trato de liberar memoria no usada de forma eficiente, sin perder procesos que se estén ejecutando ni caída de servicios??

Exprimiendo mi cabeza, llegue a un script sencillo, milagroso y realmente exitoso!!.
El mismo, no hace otra cosa que establecer un umbral inicial mínimo de Memoria, dejar pasar un tiempo prudencial (1 minuto 50 segundos en mi caso) y volver a establecer los valores por defecto, tal cual había seteado en la instalación, según lo requerido y necesario para la función especifica de este equipo.

A continuación, detallo dicho scipt, que lo ejecuto 1 vez por hora, como ultimo paso de un Job de Proceso.

USE Master
GO

BEGIN TRY
	EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE
	EXEC sys.sp_configure N'max server memory (MB)', N'12000' --- Maximo (para hacerlo bajar del Task Manager)
	RECONFIGURE WITH OVERRIDE
	EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE
	WAITFOR DELAY '00:01:50'
END TRY
BEGIN CATCH
END CATCH


-- Volvemos a establecer los valores normales seteados
EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE
EXEC sys.sp_configure N'max server memory (MB)', N'44000'
RECONFIGURE WITH OVERRIDE
EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE

Espero les sea de tanta utilidad como lo fue conmigo.
Hace casi un año que esta implementado y me permitió sacarle mas provecho al rendimiento de los equipos de la compañía.