sábado, 27 de febrero de 2016

Liberar espacio en disco con Sql Server 2014

En una entrada anterior explicaba cómo liberar espacio en disco con SQL SERVER 2005, En esta entrada explico lo mismo pero para SQL Server 2014. 
El proceso es prácticamente el mismo, si cabe más sencillo aún.

A través de las opciones Poner sin conexión-Poner con conexión  (Take offline- Bring online)


¡Ojo!  Antes de nada hacer una copia de seguridad de la base de datos.

Conviene antes de empezar cambiar el modo de recuperación de Completo a Simple. Para ello posicionados sobre la base de datos, pulsamos botón derecho del ratón -> propiedades.

Liberar espacio en disco con SQL Server 2014



Y en la pestaña Opciones, sobre el combo modelo de recuperación elegimos simple.

Modo de recuperación Simple


Hecho esto, sobre el explorador de objetos posicionados sobre la base de datos de la que queremos liberar espacio, pulsamos botón derecho del ratón -> tareas -> poner sin conexión (Take offline).

poner base de datos sin conexión, SQL Server


Dejar sin conexión la base de datos

Esto deja la base de datos fuera de conexión, antes de integrarla de nuevo, tenemos que ir al equipo donde está alojada físicamente y eliminar físicamente el archivo .ldf
Con el botón derecho del ratón sobre el explorador de Windows en el archivo .ldf de SQL Server que queremos eliminar.
eliminar un archivo .ldf desde el explorador de windows



Hecho esto podemos poner en conexión de nuevo la base de datos pero sin el archivo .ldf.
Para ello, sobre Databases, botón derecho del ratón -> Tareas -> poner en conexión (o Bring Online) 


reconectar una base de datos SQL Server
Y finalmente en el explorador de objetos de SQL Server ponemos de nuevo a modo de recuperación completa, en la pestaña de opciones de las propiedades de la base de datos. 
modo de recuperación completa, SQL Server

Esto dejará de nuevo la Base de datos disponible pero con el fichero .ldf vacío, en algunos casos esto libera muchos gigas ocupados de forma innecesaria en el disco duro del servidor de bases de datos .

sábado, 20 de febrero de 2016

Índices en SQL Server

Qué es un índice

Un índice consiste en una estructura de punteros a registros o grupos de registros asociados a una tabla. Esta estructura contiene claves asociadas a una o varias columnas de la tabla. La organización de estos punteros a los datos se realiza de manera que se reduzcan Ias búsquedas cuando éstas sean necesarias, distingue los diferentes métodos de indexación. Un índice resulta más eficiente cuantas menos comprobaciones sobre la estructura deba realizar para encontrar un registro.

Los registros de la tabla tienen un tamaño fijo y se almacenan en ficheros, de manera que cada registro queda perfectamente determinado por su posición en el fichero. De esta forma los punteros a los datos que se almacenan en los índices no contienen más que la posición de estos registros en el fichero.

SQL Server almacena los índices como un objeto más de la base de datos. Los objetos de SQL Server se almacenan en un modelo orientado a la página y no al registro, la indexación no se lleva a cabo en ese modelo de puntero fijo, en este modo de almacenamiento, los índices se almacenan en páginas separadas, dentro de la misma base de datos.


Índices en SQL Server


sábado, 13 de febrero de 2016

Declaración del procedimiento no coincide con la descripción del evento

Errores de DLL con Visual Basic

Acabo de terminar mi flamante proyecto de Visual Basic, todo es perfecto, todo está depurado. Ejecuto mi programa en modo depuración con Visual Studio y funciona correctamente pero en otro equipo donde también tengo instalado Visual Studio lo ejecuto y obtengo un error bastante desconcertante:
Que dice: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre.

La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre


sábado, 6 de febrero de 2016

SQL Server: Vistas

Una vista es una sentencia SELECT constituida como un objeto de SQL separado de la tabla o tablas a las que hace referencia. El resultado de su ejecución es un conjunto de registros similar al que obtendríamos con una tabla.
La vista no es una tabla, es una definición de una consulta es decir no posee datos propios. Una vez que está definida la consulta, una vista puede utilizarse como si fuera una tabla, refiriéndose a ella por su nombre.


Vistas en SQL Server