Error instalando Nodo de Cluster SQL Server 2008 R2

For English version visit this link Error installing Node of SQL Server 2008R2 Cluster
 
Esta semana, estamos migrando los servidores de Producción a SQL Server 2008 R2 SP1. Durante la instalación de un Nodo del Cluster SQL Server nos apareció el siguiente error:
 
 
Error reading from file:
X:\PATHFOLDER\x64\setup\sql_engine_core_inst_msi\PFiles\SqlServr\MSSQL.X\MSSQL\Binn\Template\master.mdf
Verify that the file exists and that you can access it.
 
Después de hacer diversas pruebas, nos dimos cuenta que no podiamos copiar ficheros .mdf, .ndf, .ldf y .bak al disco C:\, empezamos a mirar los permisos de los usuarios, políticas, permisos de ficheros y no lo conseguíamos, por lo que después de 3 horas decidimos dejarlo. A la mañana siguiente a un compañero se le ocurrió que podía ser por el antivirus, lo desactivamos y funcionó a la primera.
 
Esta es una muestra de como un pequeño fallo de cálculo imprevisto te puede hacer pasar un mal rato Una cosa si que es segura, de ahora en adelante ante el mas mínimo error extraño, lo primero que probaré es a desactivar el antivirus.
 

Error installing Node of SQL Server 2008R2 Cluster

For Spanish version visit this link Error instalando Nodo de Cluster SQL Server 2008 R2
 
This week, we are migrating the Production servers to SQL Server 2008 R2 SP1. During the installation of a Node of SQL Server Cluster, the following error occured:
 
 
Error reading from file: X:\PATHFOLDER\x64\setup\sql_engine_core_inst_msi\PFiles\SqlServr\MSSQL.X\MSSQL\Binn\Template\master.mdf
Verify that the file exists and that you can access it.
 
After doing several tests, we saw that we couldn’t copy files with .mdf, .ndf, .ldf and .bak extensions to C:\ drive, we start to check the users permissions, policies, file permissions and it not worked, so after 3 hours we decided to stop. The next day a co-worker said that could be the antivirus, we disabled it and the installation works like a charm.
 
This is an example of how an small unexpected failure calculation can make you to pass a hard time. One thing is sure, from now on at the minimum strange error, the first that I will probe is to disable the antivirus.
 

What I learned in the last year? Resources and websites that help you get started with SQL Server

For Spanish version visit this link ¿Qué he aprendido en el último año? Recursos y webs que te ayudarán a comenzar con SQL Server
 
Within days, June 20th, will be one year since I joined Avanade Spain, so I think that is a good moment to stop and think over all learned in the last 366 days.
 
I can safely say that this was the year that I’ve grown more as SQL Server professional, When I started at company, didn’t know practicaly how a cluster works; the replication seemed a world apart; I wasn’t familiar with SQL Scripting; and my English level was much worse (you can see how badly I write, but before was even worse).
 
I got my new knowledges in a big part thanks to my father, my co-workers, Google, MSDN forums, and blogs that saved my life a lot of times, I going to enumerate some of this:
  Read more of this post

¿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

How to create an SQL Server 2012 installer with integrated CU1 (Product Updates – Slipstream)

For Spanish version visit this link Cómo crear un instalador de SQL Server 2012 con CU1 integrado (Product Updates – Slipstream)
 
Time ago, I created an automated batch procedure to create an SQL Server 2008 R2 Installer with Integrated SP1, known as Slipstream, now in SQL Server 2012 this was replaced with a new funcionality called Product Updates.
 
With the Product Updates funcionality we can integrate Service Pack or Cumulative Updates to the SQL Server installer, this save much time, specially when you need to do multiple installations.
 
Read more of this post

Resurrect SQL Server Agent after repair an instance

For Spanish version visit this link Resucitar Agente SQL Server después de reparar una instancia
 
After a failed update from SQL Server 2005 to SQL Server 2008 R2 SP1, I decided to use the Repair option of the installer, the SQL Server resource was repaired correctly, but the SQL Server Agent couldn’t start.
 
 
Read more of this post

Resucitar Agente SQL Server después de reparar una instancia

For English version visit this link Resurrect SQL Server Agent after repair an instance
 
Después de una actualización fallida desde SQL Server 2005 a SQL Server 2008 R2 SP1, decidí usar la opción de Repair del instalador de SQL Server, el recurso SQL Server se reparó correctamente, pero el de SQL Server Agent no conseguia iniciarlo.
 
 
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)

Script: Reduce Log File depending on DB Data Files size

For Spanish version visit this link Script: Reducir Log porcentualmente dependiendo del tamaño de los ficheros de Datos
 
A friend asked me about a dynamic script to reduce the DB Log File based on the total size of DB Data Files, here is the answer:
/*--------------------------------------------------------------------------------------
-- File: ShrinkToPercent.sql
-- Author: Fran Lens (http:\\www.lensql.net)
-- Date: 2012-03-27
-- Description: Reduce LogFile Size based on percentage of the Total Size of DataFiles
--------------------------------------------------------------------------------------*/
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' -- Database whose Log will be Reduced
SET @ShrinkPercent = 30 -- Percentage of the DataFiles Size to Reduce the LogFile
						-- Example: With a value of 20 Percent and 1GB of Datafiles Size, the Log will be reduced to 200MB

SET @DbId= (select database_id from sys.databases where name=@SelectDB)
SET @RecoverySimple = 'ALTER DATABASE [' + @SelectDB + '] SET RECOVERY SIMPLE WITH NO_WAIT' -- Change the recovery model to 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 + ')' -- Reduce the LogFile Size
SET @RecoveryFull = 'ALTER DATABASE [' + @SelectDB + '] SET RECOVERY FULL WITH NO_WAIT' -- Change the recovery model to Full

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

Get every new post delivered to your Inbox.