Buscar este blog

viernes, 19 de octubre de 2012

Nuevo modo de autocompletado para IntelliSense en SQL Server Management Studio 2012. ¿Cómo cambiarlo?

Con SQL Server 2008 llegó IntelliSense para T-SQL. IntelliSense es una herramienta que nos ofrece el editor de SQL Server Management Studio para facilitarnos la escritura de código T-SQL. Básicamente, entre otras cosas, carga el catálogo de nuestra base de datos para facilitarnos la escritura de consultas.

miércoles, 10 de octubre de 2012

Listar todos los ficheros de un servidor SQL Server

Existen multitud de vistas de sistema en SQL Server que nos ayudan a hacer las tareas de administración y mantenimiento mucho más sencillas. Una de ellas nos permite listar todos los ficheros, tanto de datos como de log, relativos a las bases de datos que tenemos en nuestro servidor.

Para ello, usaremos la vista sys.master_files, que nos proporciona información de cada uno de los ficheros de nuestras bases de datos, con todas sus propiedades. Algunas de ellas, incluidas en la consulta de ejemplo, son: nombre del fichero, ruta completa del fichero en disco, tamaño, estado y configuración sobre su crecimiento, del que ya hablamos en posts anteriores.

Actualizado el 19 de septiembre de 2013: Ahora el script muestra el tamaño de los ficheros en Megabytes, mientras que, anteriormente, lo hacía en número de páginas de 8KB.

TABLESAMPLE, o cómo obtener una muestra aleatoria de registros de una tabla

¿Alguna vez has necesitado obtener una muestra de datos totalmente aleatoria de tu base de datos? En SQL Server es posible hacerlo, mediante la cláusula TABLESAMPLE, que se aplica a la definición del origen de datos que vamos a recuperar con la cláusula FROM.

TABLESAMPLE nos permite indicar un número de filas o un porcentaje de filas a devolver, de la siguiente manera:

--devuelve el 10% de las filas totales
--(dependiendo del tamaño de los registros en la base de datos, no del número de filas).
SELECT *
FROM YourTable
TABLESAMPLE (10 PERCENT) 
--devuelve una muestra de 15 filas del conjunto de resultados
SELECT *
FROM YourTable
TABLESAMPLE (15 ROWS) 

Algunas consideraciones a la hora de usar TABLESAMPLE incluyen:
  • No se puede usar en la definición de vistas
  • No se puede usar en la definición de funciones de tabla inline
  • No se puede aplicar a tablas devueltas por funciones tipo tabla

miércoles, 3 de octubre de 2012

¡Ganador del premio por resolver los puzzles T-SQL!

Pinal Dave ha anunciado a través de twitter el ganador del premio por resolver los dos puzzles SQL que planteaba ahora hace unos días, y de los que nos hicimos eco en este mismo blog. Pues bien, parece que nuestras respuestas eran correctas :)