¿Qué he aprendido en el último año? Recursos y webs que te ayudarán a comenzar con SQL Server

For English version visit this link What I learned in the last year? Resources and websites that help you get started with SQL Server
 
En unos días, el 20 de Junio, cumplo un año en Avanade Spain, por ello creo que es un buen momento para pararme a pensar y reflexionar sobre todo lo que he aprendido en los últimos 366 días.
 
Puedo afirmar con seguridad que este ha sido el año que mas he crecido como profesional de SQL Server. Cuando comencé en la empresa, no conocía prácticamente como funcionaba un cluster; la replicación me parecía un mundo aparte; no estaba familiarizado con el scripting de SQL Server y mi nivel de inglés era bastante peor (podéis ver lo mal que escribo, pero sí, antes era aún peor).
 
Los nuevos conocimientos los he adquirido en gran parte gracias a mi padre, mis compañeros de trabajo, Google, los foros de MSDN, y blogs que me han salvado la vida en multitud de ocasiones, paso a enumerar algunos de ellos:
  Read more of this post

Cómo crear un instalador de SQL Server 2012 con CU1 integrado (Product Updates – Slipstream)

For English version visit this link How to create an SQL Server 2012 installer with integrated CU1 (Product Updates – Slipstream)
 
Hace un tiempo, creé un fichero batch para crear un Instalador SQL Server 2008 R2 con SP1 Integrado, conocido como Slipstream, ahora en SQL Server 2012 esto ha sido reemplazado con una nueva funcionalidad llamada Product Updates.
 
Con la funcionalidad Product Updates podemos integrar los Service Pack o Cumulative Updates al instalador de SQL Server, con esto ahorramos mucho tiempo, sobre todo cuando hay que hacer múltiples instalaciones.
  
Read more of this post

Script: Reducir Log porcentualmente dependiendo del tamaño de los ficheros de Datos

For English version visit this link Script: Reduce Log File depending on DB Data Files size
 
Un amigo me pregunto por un script dinámico para reducir el Log de una BBDD dependiendo del tamaño total de los ficheros de datos, aquí la respuesta:
/*--------------------------------------------------------------------------------------
-- File: ShrinkToPercent.sql
-- Author: Fran Lens (http:\\www.lensql.net)
-- Date: 2012-03-27
-- Description: Reduce el tamaño del fichero de Log en base a un porcentaje del tamaño total de los ficheros de Datos
--------------------------------------------------------------------------------------*/
DECLARE @SelectDB varchar(50)
DECLARE @ShrinkPercent float
DECLARE @DBid int
DECLARE @RecoverySimple varchar(200)
DECLARE @RecoveryFull varchar(200)
DECLARE @ShrinkCommand nvarchar(200)
DECLARE @ShrinkFile varchar(50)
DECLARE @ShrinkValue varchar(50)

SET @SelectDB = 'AdventureWorks2008R2' -- Base de Datos cuyo Log será reducido
SET @ShrinkPercent = 30 -- Porcentaje de los archivos de datos al que se reducira el Fichero de Log
 -- Ejemplo: Con un valor del 20 por ciento y 1GB de Tamaño de Ficheros de Datos, el Log se reducirá a 200MB

SET @DbId= (select database_id from sys.databases where name=@SelectDB)
SET @RecoverySimple = 'ALTER DATABASE [' + @SelectDB + '] SET RECOVERY SIMPLE WITH NO_WAIT' -- Cambiar el modelo de recuperación a Simple
SET @ShrinkFile = (SELECT name from sys.master_files WHERE database_id = @DBid and type_desc = 'LOG')
SET @ShrinkValue = (@ShrinkPercent)/100 * (SELECT SUM(size)/128 FROM sys.master_files WHERE database_id = @DBid and type_desc = 'ROWS')
SET @ShrinkCommand = 'USE [' + @SelectDB + ']' + CHAR(13)+ 'DBCC SHRINKFILE('+ @ShrinkFile+',' + @ShrinkValue + ')' -- Reducir el tamaño del Fichero de Datos
SET @RecoveryFull = 'ALTER DATABASE [' + @SelectDB + '] SET RECOVERY FULL WITH NO_WAIT' -- Cambiar el modelo de recuperación a Completo

EXEC (@RecoverySimple)
EXEC sp_executesql @ShrinkCommand
EXEC (@RecoveryFull)

Evento Microsoft: Destino la Nube

 
 
Ayer acudí al evento Destino La Nube de Microsoft, el cual se pudo seguir por Twitter con el Hashtag #CloudDay, si os lo perdisteis próximamente estará en la web Destino la Nube. Al ser mi primer evento Microsoft iba un poco a conocer todo ese mundo y la verdad salí bastante satisfecho, se habló de Windows 8, Windows 8 Server, Windows Azure, SQL Server 2012, Visual Studio 11, Big Data, System Center 2012, PowerShell 3.0, HyperV…
 
Por afinidad con los contenidos opté por quedarme en la parte del evento dedicada a Profesionales TI. A pesar de algún problema técnico puntual con la conexión se mostraron muchas demos con algunas de las nuevas características y funcionalidades de los productos, por la mañana estuvo dedicado a System Center 2012, Nube Privada y Pública y SQL Server 2012, por la tarde las ponencias y demos fueron sobre Windows Server 8, PowerShell 3.0 y en gran parte HyperV, cabe destacar que estas últimas fueron las que más me gustaron tanto por la manera de comunicar de los ponentes como por las demos(con alguna coña incluida que te hacía reír).
 
Como dato negativo tengo que decir que al haber 3 salas distintas, una para cada área, nosotros siempre salíamos los últimos y no pude probar casi ningún canapé :), eso sí, me lleve un bonito llavero, un bolígrafo, un Lanyard (cuelga tarjetas) y unos 2 Kilos de Publicidad de las empresas colaboradoras.
 
En definitiva, el evento me gustó bastante y espero poder volver a acudir en próximos años, y por qué no, en un futuro algo lejano hasta poder ser ponente en alguno.
 

Scripts: Jobs no ejecutados en el último año / Actividad de Jobs Detallada

For English version visit this link Scripts: Jobs Not Executed in the Last Year / Job Activity Details
 
Hace unos días estuve buscando un script que me permitiera saber cuando fue la última ejecución de un job, para así poder revisar los jobs que llevaran más de 1 año sin ejecutarse y poder borrar los que no fueran necesarios, pero no encontré lo que buscaba por lo que tuve que crear uno.
 
He usado las columnas last_run_date y last_run_time de la tabla sysjobservers para sacar este dato, los scripts que encontré por Internet usaban otras columnas de otras tablas que paso a describir por qué no las elegí:
 
Read more of this post
Follow

Get every new post delivered to your Inbox.