Error 1478 en SQL Server Mirroring

Este error es bastante recurrente cuando se quiere levantar Database Mirroring. Puede que al momento de configurarlo no se haya presentando ningún warning y ningún error en el proceso, pero si al momento de echar a andar el mecanismo de mirroring aparece este error, es porque no se realizó un paso previo.

Error 1478
Error 1478

Así se ve el error y la solución es re simple. Solo hay que respaldar el log de transacciones de la base de datos primaria y restaurar este respaldo en la base de datos de espejo con la opción de NORECOVERY.
Una vez que esta tarea se ha realizado, ya se puede levantar Mirroring y debiéramos tener problemas.

Demo de ColumnStore Index

Hola gente linda, en el post del 30 Marzo ( http://blog.maximilianomarin.com/2012/03/columnstore-index/ ) escribí sobre esta nueva característica. Debo reconocer que quedé con gusto a poco y ahora hice algo más elaborado. Algo que ustedes puedan descargar y probar en sus máquinas y sacar sus propias conclusiones.

Pueden descargar el archivo desde aquí: http://www.4shared.com/zip/SIaGozP_/Demo_ColumnStore_Index.html y ponerse a jugar.

Se aceptan sugerencias.

Compresión en SQL Server

Desde SQL Server 2008 es posible comprimir los datos a nivel de filas y páginas y respaldos. En este pequeño artículo hablaré sobre la compresión a nivel de filas. Para páginas y respaldos vendrán en otra entrega.

Compresión en Filas
La compresion de filas está recomendada cuando se tiene una alta carga de trabajo de escritura en disco. Es posible comprimir las filas en los siguientes escenarios:

  • Tablas con y sin indices agrupados y no agrupados
  • Vistas indexadas
  • Indices y tablas particionadas

Recomendaciones

  • Evaluar el ahorro que se genera con la compresion
  • No comprimir todos los elementos de la base de datos sin antes evaluar. Si es pequeño no es necesario comprimir. Considerar comprimir si el elemento es accesado pocas veces.

Código


--tamaño de tabla
exec sp_spaceused MiTabla
go
--compresion por fila
alter table MiTabla rebuild with(data_compression = row)
go
exec sp_spaceused MiTabla
go

Primero muestra el espacio utilizado por la tabla que vamos a comprimir, luego la comprime y al final muestra el espacio ocupado por la tabla ya comprimida para comparar.

Al realizar esta prueba, nos da el siguiente resultado sobre una tabla sin comprimir:

Tabla sin comprimir
Tabla sin comprimir

Pero al comprimir por fila la misma tabla, nos da el siguiente resultado:

Tabla comprimida
Tabla comprimida

Los números hablan solos.

 

Saludos!

 

ColumnStore Index

Casi un mes de ausencia, pero he vuelto »  totalmente reformado fino, culto y educado y agradecido de haber encontrado el sendero abandonado , con un trema bastante interesante y útil que se puede aprovechar en la nueva versión de SQL Server. Esto es ColumnStore Index.

ColumnStore Index funciona de una forma muy sencilla. Se encarga de indizar columnas en páginas distintas, lo que hace que se incremente el rendimiento de la consulta.

En las imágenes de ejemplo, se puede ver una tabla almacenada en una página. En la segunda imagen se ve una tabla con índices columnares. Es justamente así como trabaja este tipo de índices. Cada columna se indiza en páginas distinas, acelerando las consultas y disminuyendo el uso de los recursos del sistema.

Para implementar indices columnares, se debe usar esta sentencia:

CREATE NONCLUSTERED COLUMNSTORE INDEX MiIndice ON MiTabla
(
Columna1,
Columna2,
ColumnaN,
Columna16
)

Vean estos dos escenarios y se darán cuenta de la potencia de este tipo de indices.

Consulta sin ColumnStore Index
Fijarse en el Estimated I/O Cost
Fijarse en el Estimated I/O Cost
Fijarse en el Estimated I/O Cost

Saludos!

 

Imágenes sacadas desde: http://sql-articles.com/articles/general/columnstore-indexsql-server-2011/