Script de PowerShell para scriptiar los Jobs de un servidor

by Maxi Accotto 7. enero 2012 02:50

 

En muchas oportunidades necesitamos hacer un Script de los jobs de producción para llevarlos a otro sitio. Por ejemplo a contingencia.

Para ello podríamos utilizar el siguiente script de Powershell y agregarlo a un step de un job de SQL 2005 / 2008 / R2.

El mismo toma los Jobs que tienen como categoría la palabra producción y genera el script (.sql) de dichos jobs

 

 

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')| out-null

$RutaScripts = "\\servername\"
# Create an SMO connection to the instance
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "SERVIDORSQL" 

$jobs = $s.JobServer.Jobs


$scrp = new-object ('Microsoft.SqlServer.Management.Smo.Scripter') ($s)

$scrp.Options.FileName = $f
$scrp.Options.AppendToFile = $true


foreach ($job in $s.jobserver.jobs) 
{
$a = $job.category




if ($a.toupper() -eq "PRODUCCION")
           
    {
    
     $filename = $job.name + ".sql"
     
     write-host $filename
     
     $f = [System.IO.Path]::Combine($RutaScripts, $filename)
     out-file -filePath $f -inputobject "USE MASTER `nGO`n"


     out-file -filePath $f -inputobject "DECLARE @jobId binary(16) `n SELECT @jobId = job_id FROM msdb.dbo.sysjobs WHERE (name = N'$job') `n  
     IF (@jobId IS NOT NULL) `n  EXEC msdb.dbo.sp_delete_job @jobid `n  go `n " -append

  
     $scrp.Script($job) >> $f

     out-file -filePath $f -inputobject "`n" -append
  
     out-file -filePath $f -inputobject "`n EXEC msdb.dbo.sp_update_job @job_name=N'$job',@enabled=0 `n GO `n" -append


    }

else
 {

 }
}

 

ScriptJobByPowerShell scriptjobByPowerShell

Tags:

SQL 2008 | SQL 2008 R2 | Administracion | How To

Como detectar problemas de performance con el Management Studio

by Maxi Accotto 28. septiembre 2011 17:01

 

El día 27/9/2011 di un webcast donde muestro como se puede utilizar el SSMS para determinar problemas de performance.

En el mismo se muestra el uso de los reportes del SSMS como así también del Active Monitor.

Aquí les comparto el link

Webcast TechNet: Detectando problemas de performance usando el Management Studio

Tags:

SQL 2008 | SQL 2008 R2 | SQL 2005 | Videos | Comunidad | Administracion

Como instalar SQL Server con su Service Pack o Hotfix incluidos

by Maxi Accotto 20. agosto 2011 19:15

 

Una de las cosas que nos sucede muy a menudo es que cuando instalamos un SQL Server luego de debemos aplicar el ultimo services pack y/o hotfix.

Esto no es una tarea para nada difícil pero son dos pasos en la instalación, esto además de consumirnos mas tiempo en la tarea también puede pasar que nos olvidemos de hacerlo y tengamos nuestro servidor sin los parches adecuados.

En esta guía lo que vamos a ver es como armar un paquete de instalación de SQL Server que incluya además el services pack o hotfix.

La metodología que vamos a utilizar se denomina SlipStreamed, este método apareció en SQL Server 2008 a partir de su primer Service Pack.

Paso 1

Debe copiar el medio de instalación de su SQL server a una carpeta, por ejemplo en mi caso arme una carpeta en el disco D llamada SQL2008R2SP1 entonces copiare el medio de SQL original en D:\SQL2008R2SP1

Aquí le aconsejo que copie todo el medio donde se incluye el instalador de x86 y x64.

Paso 2

Baje el hotfix o service pack, en mi caso baje el service pack 1 de SQL 2008 R2, recuerde que debe bajarlo en el mismo idioma que tiene el medio de instalación, en mi caso es en ingles

Recuerde de bajar tanto el de x86 como el de x64 así luego nos queda un solo medio de instalación para ambas tecnologías

SQLServer2008R2SP1-KB2528583-x64-ENU.exe

SQLServer2008R2SP1-KB2528583-x86-ENU.exe

Paso 3

Debemos extraer los contenidos de los archivos que hemos bajado en el punto 2 a una carpeta interna del paso 1.

En mi caso seria D:\SQL2008R2SP1\SP1.

Para hacer esta operación desde la línea de comandos haremos lo siguiente

D:\>SQLServer2008R2SP1-KB2528583-x64-ENU.exe /x:d:\sql2008r2sp1\sp1
D:\>SQLServer2008R2SP1-KB2528583-x86-ENU.exe /x:d:\sql2008r2sp1\sp1

Paso 4

Copiar los archivos que se descomprimieron en el paso anterior en la carpeta raíz del instalador exceptuando Microsoft.SQL.Chainer.PackageData.dll,

esto se debe hacer por cada una de las plataformas de instalación (x64 y x86)

En el caso del ejemplo deberíamos copiar desde

d:\sql2008r2sp1\sp1\x64 a d:\sql2008r2sp1\x64 y

d:\sql2008r2sp1\sp1\x86 a d:\sql2008r2sp1\x86

Yo voy a utilizar el comando Robocopy que ya viene en mi SO.

D:\>robocopy D:\SQL2008R2SP1\SP1\x86 D:\SQL2008R2SP1\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
D:\>robocopy D:\SQL2008R2SP1\SP1\x64 D:\SQL2008R2SP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll

Paso 5

Copiar Setup.exe y Setup.rll que se encuentra dentro de la carpeta d:\sql2008r2sp1\sp1 hacia d:\sql2008r2sp1\ reemplazando los que están originales.

D:\>robocopy D:\SQL2008R2SP1\SP1 D:\SQL2008R2SP1 Setup.exe
D:\>robocopy D:\SQL2008R2SP1\SP1 D:\SQL2008R2SP1 Setup.rll

Paso 6

Editar el archivo defaultsetup.ini que se encuentra en cada una de las carpetas del medio original para cada plataforma (x86 y x64), en el caso del ejemplo deberíamos editar los archivos de las siguientes ubicaciones

D:\SQL2008R2SP1\x86\DefaultSetup.ini

D:\SQL2008R2SP1\x64\DefaultSetup.ini

A cada archivos hay que agregarle la siguiente línea

PCUSOURCE=".\SP1"

 

 

Ya tenemos listo el proceso y ahora simplemente ejecutaremos el setup.exe .

Tags: ,

Administracion | SQL 2008 | SQL 2008 R2 | How To

Como configurar el envió de mails desde SQL Server

by Maxi Accotto 14. julio 2011 19:02

 

En este video muestro cuales son los pasos para poder configurar el correo saliente en SQL Server a partir de la versión 2005 que ya incluye SMTP sin la necesidad de instalar un cliente MAPI como en versiones anteriores.

Además muestro como es la configuración para utilizar el SMTP de gmail o google si es que deseamos salir por ahí.

Tags: , , ,

Videos | How To | SQL 2008 R2 | SQL 2008 | SQL 2005 | Administracion

Como generar el Script de una o mas tablas incluyendo sus datos con el Management Studio

by Maxi Accotto 14. julio 2011 18:58

 

En este video muestro como se puede generar el script de una o mas tablas pero no solamente incluyendo sus estructuras sino que también los datos.

Esto nos puede ser útil en muchos casos, por ejemplo si tenemos tablas de nuestro sistema con valores de startup con esta técnica nuestro script de implementación podrá incluir esos datos

Para ello es necesario utilizar la versión 2008 o superior del Management Studio (SSMS)

Tags: ,

Videos | SQL 2008 R2 | SQL 2008 | How To

SP1 SQL 2008 R2 disponible

by Maxi Accotto 12. julio 2011 20:45

 

Ya esta disponible el Services pack 1 de SQL 2008 R2

Aquí les dejo el link

Tags:

Noticias | SQL 2008 R2

SQL Server 2008 R2 Cumulative Update 8 disponible

by Maxi Accotto 24. junio 2011 19:17

 

Ya se encuentra disponible el último CU para SQL 2008 R2, antes de instalarlo es recomendable como siempre probarlo en testing.

Aquí les dejo el link

Este CU repara los siguientes bug

 

2522893(http://support.microsoft.com/kb/2522893/ )
FIX: A backup operation on a SQL Server 2008 or SQL Server 2008 R2 database fails if you enable change tracking on this database

2525665(http://support.microsoft.com/kb/2525665/ )
FIX: SQL Server 2008 BIDS stops responding when you stop debugging a SSIS 2008 or a SSIS 2008 R2 package

2525665(http://support.microsoft.com/kb/2525665/ )
FIX: SQL Server 2008 BIDS stops responding when you stop debugging a SSIS 2008 or a SSIS 2008 R2 package

2530913(http://support.microsoft.com/kb/2530913/ )
FIX: "Error: 17066" occurs when you create a partitioned nonclustered index in SQL Server 2008 R2 if a parallel execution plan is used

2535660(http://support.microsoft.com/kb/2535660/ )
FIX: Role membership is synchronized even if the SynchronizeSecurity element is set to the SkipMembership value in SSAS 2008 or in SSAS 2008 R2

2537467(http://support.microsoft.com/kb/2537467/ )
FIX: You cannot use SQL Server Management Objects (SMO) to transfer data from a table in SQL Server 2008 or in SQL Server 2008 R2

2539098(http://support.microsoft.com/kb/2539098/ )
FIX: "Runtime error: the property DBPROP_MSMD_UPDATE_ISOLATION_LEVEL cannot be found" error when an application tries to create a connection to SSAS 2008 R2

2539378(http://support.microsoft.com/kb/2539378/ )
FIX: Replmerg.exe crashes when it enumerates changes to a statement in SQL Server if the stored procedure contains more than 4,000 characters

2545989(http://support.microsoft.com/kb/2545989/ )
FIX: "A time-out occurred while waiting for buffer latch" error when many transactions concurrently update a database in SQL Server 2008 R2 if the database uses the snapshot isolation level

2547017(http://support.microsoft.com/kb/2547017/ )
FIX: Instances of DAX functions that have no names incorrectly appear when you add a calculated member to a report that uses an SSAS 2008 R2 database as a data source

2559662(http://support.microsoft.com/kb/2559662/ )
FIX: Slow performance when you render a report that returns a long string of text in SSRS 2008 R2 if the text contains no carriage return characters

2562753(http://support.microsoft.com/kb/2562753/ )
FIX: Slow performance when an MDX query uses unary operators on parent/child hierarchy members in SSAS 2008 R2 if you define a scope calculation on these members and if the query accesses multiple dates in a time dimension

2563216(http://support.microsoft.com/kb/2563216/ )
FIX: Dynamic image does not work in a page header or footer in SSRS 2008 R2 if the value expression uses the Global!PageNumber variable

2563924(http://support.microsoft.com/kb/2563924/ )
FIX: "The incoming tabular data stream (TDS) protocol stream is incorrect" error when the SQLPutData function inserts the SQL_NULL_DATA value in a TVP in SQL Server 2008 R2

Tags:

SQL 2008 R2

Virtualización de SQL Server en ambientes productivos

by Maxi Accotto 23. junio 2011 07:50

 

En el día de hoy he presentado en la comunidad de Argentina de SQL Server como se debe virtualizar SQL en ambientes productivos.

Me lleve la sorpresa que hay mas empresas de las que yo tenía en mente que tienen en producción ya SQL Server (a mí me ha tocado trabajar en algunas cuentas Enterprise donde se ha virtualizado todo incluyendo los SQL Server con muy buenos resultados)

En este post voy a poner una serie de links sobre virtualización productiva de SQL Server tanto en VmWare como Hyper-V, debo comentar que yo trabajo con los dos y en ambos vi excelentes resultados.

Aquí dejo primero la presentación del día de hoy y además una seria de Links útiles sobre virtualización de SQL Server.

 

Curso gratuito de Virtualización en SQL Server

https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=195173&tab=overview

Soporte de SQL Server virtualizados

http://support.microsoft.com/?id=956893

Virtualización de SQL con VMware 

Performance and Scalability of Microsoft® SQL Server® on VMware vSphere™ 4
Microsoft SQL Server and VMware Virtual Infrastructure
Availability Guide for Deploying SQL Server on VMware® vSphere
Microsoft® SQL Server on VMware® Best Practices Guide

Best Practices sobre Hyper-V

http://sqlcat.com/whitepapers/archive/2008/10/03/running-sql-server-2008-in-a-hyper-v-environment-best-practices-and-performance-recommendations.aspx

Consolidación de SQL Server

http://sqlcat.com/whitepapers/archive/2010/02/04/sql-server-consolidation-guidance.aspx

Otros

SQL server y Hyper-V

Alta performance de SQL con Hyper-V

Planning, Implementing, and Supporting SQL Server Virtualization with Windows Server 2008 R2 HV

Consolidating Large Microsoft SQL Server Databases on the IBM System x3850 X5 with Microsoft HV

Sitio oficial de virtualización de Microsoft

http://www.microsoft.com/sqlserver/2008/en/us/virtualization.aspx

Tags: ,

Material | Comunidad | Administracion | SQL 2005 | SQL 2008 | SQL 2008 R2

Guía para Datawarehouse Enterprise

by Maxi Accotto 15. mayo 2011 02:05

 

sql2008r2

Hace unos días se ha publicado una guía (en inglés) para el desarrollo y administración de DataWareHouses Enterprise.

La misma cuenta con 5 capítulos muy interesantes, aquí les dejo los links

Capítulo 1 – OverView

Capítulo 2 – Data Architecture

Capítulo 3 – Integration Architecture

Capítulo 4 – Database Administration

Capítulo 5 – Performance, Monitoring y Tunning

Tags: ,

Material | BI | SQL 2008 R2

Se libero la Versión 5 de los migradores de otras bases de datos a SQL Server (SSMA 5.0)

by Maxi Accotto 30. abril 2011 18:30

 

En los últimos días de abril se ha liberado la nueva versión de estas herramientas que cumplen la función de migrar de otras bases de datos hacia SQL Server.

Para los que no conocen estas herramientas, les comento que ya vienen desde hace un tiempo y permiten migrar las siguientes bases de datos a SQL Server (Sybase , Mysql, Oracle y Access).

La herramienta no solo migra datos sino que también y donde pueda hace conversión de código, por ejemplo desde PL-SQL hacia T-SQL.

Yo las he utilizado en algunos proyectos y la verdad que son muy recomendadas para los que están en un proceso de migración.

Que hay de nuevo en esta versión?

Ahora se podrá migrar hacia cualquier edición de SQL Server incluyendo la Express.

  • Soporte para SQL Denali
  • Multi-thread data migration permitiendo un mejor escalamiento y performance
  • Soporte de Globalización para migrar bases de datos que no están en Ingles
  • Soporte para instalar los SSMA Extension Pack en un ambiente clusterizado de SQL Server
  • Mejoras en el migrador de Sybases
    • Soporte para migrar hacia SQL Azure
    • Extension del data access (ASE ADO.net y ASE ODBC)
    • Soporte para convertir bases Case sensitive hacia SQL Server Case Sensitive.
    • Extensión del soporte para la conversión de instrucciones no Ansi JOIN en los DELETE y UPDATE
    • Elimina la dependencia en la base de datos independiente SYSDB en SQL Server de destino
  • Reporte de User Defined Type para Oracle

Links de descarga

SSMA 5.0 para Oracle

SSMA 5.0 para Sysbase

SSMA 5.0 para MySQL

SSMA 5.0 para Access

Algunos casos de éxito de migraciones hacia SQL Server

Dollar Thrifty Auto Group, Eli Lily, Lockheed Martin, CSR Limited, Florida Department of Education, Forest Oil, The Wyoming Department of Health Vital Statistics Services Program, Landratsamt Landshut, Horowhenua District Council, y Volvo Aero

HotFix CU7 para SQL Server 2008 R2

by Maxi Accotto 29. abril 2011 18:53

 

Se ha liberado un nuevo hotfix para SQL Server 2008 R2

Aquí les dejo el link del mismo

Antes de aplicarlo a producción revisar los issues que resuelve como así también aplicarlo antes en Testing

Tags:

SQL 2008 R2

Maximiliano Damian Accotto