SQL Server

SQL Server Profiler: Cómo capturar consultas SQL y el detalle de su plan de ejecución

Casi siempre nos enteramos de que alguna query va lenta por alguna queja de usuario. Ahora se queja que hace tiempo aquella cosa que hacía tardaba tanto y hoy cuando lo ha hecho un par de veces la cosa ha sido más lenta de normal.

Realmente puede estar pasando de todo, pero entre las causas comunes podemos encontrarnos de todo un poco: fragmentación en la misma tabla, estadísticas que no están al dia, carga fuera de lo habitual en el servidor en ese mismo momento, incremento del volumen en las tablas implicadas, cambios en la aplicación...

 

ApexSQL Refactor: Complemento para edición de código en MS SQL Server Management Studio

Opciones de formateo de Apex SQL RefactorApexSQL Refactor es una herramienta potente de formateo de código sql para usuarios que trabajan a diario con él. Es un complemento para SQL Server Management Studio que puede ayudarte a generar, reutilizar el código o formatearlo (tabulaciones, mayúsculas, minúsculas, nomenclatura, palabras reservadas...) para hacerlo más legible para otros o incluso parsear el de otros para presentarlo a tu gusto.

Este refactor es un complemento gratuito, aunque existe una versión más completa de pago y se puede descargar directamente de la página del fabricante..

 

Automatizando el backup y restore de una base de datos SQL Server 2014 usando PowerShell

Windows Power Shell

Igual que en servidores Linux donde tenemos bases de datos MySql Oracle automatizamos tareas banales mediante scripts en bash, en los servidores donde tengamos Windows Server podemos apañarnos con Windows Power Shell.

Como administradores de bases de datos Sql server, puede interesar saber algo de scripting en este lenguaje para llegar más lejos que con el Agente de Sql Server y sus trabajos.. 

 

Cambiar en SQLServer 2008 la columna clave de una tabla a una nueva del tipo integer que sea identidad usando OVER

Tablas de cabeceras y lineas en SQL ServerEn algun momento puede ser necesario cambiar el tipo de columna clave para nuestra tabla/s por un mal diseño o un cambio posterior que nos obliga a ello. Si lo hacemos y la nueva tiene que ser una columna del tipo entero, quizás identity, podemos hacerlo con algun criterio para que quede ordenado (pk=indice clusterizado=order by en disco por ese campo). En este ejemplo para hacerlo más completo, lo hacemos en dos tablas Maestro-Detalle..

Como recuperar la clave del usuario sa en Sql Server 2008

Recuperar contraseña de SA en SQL ServerHay muchas maneras de liarla con nuestra base de datos SqlServer y una de ellas es olvidar o no tener a nuestra disposición la clave del usuario sa. Puede ser debido a que nunca la usemos, porque tenemos nuestro propio usuario administrador y realmente no iniciamos sesión con esa cuenta. Puede ser que hayamos heredado esa maravillosa base de datos y no tengamos ningún usuario ni de dominio que sea administrador. O peor aún, que incluso desde el mismo día de la instalación no sepamos esa clave y acabamos de eliminar el único login con los permisos adecuados.

Para cualquiera de estas historias tristes puede haber una solución que no sea reinstalar..

SQLServer 2008: Consulta uniendo datos de SSAS con los de una tabla de cualquier otra bbdd mediante openquery

Datos de una instancia SSASEn ocasiones podemos necesitar hacer un informe que debe contener datos de nuestro cubo de ventas (por ejemplo) y complementarlo con datos que nos faltan y que solo podemos encontrar en el esquema relacional del origen o directamente de otra fuente de datos. 

Si la bbdd complementaria está en una instancia de sql server, una solución bastante comoda es crear un servidor vinculado..

Cómo 'recuperar' la ventana de datos de informes en Reporting Services

Informe de Reporting ServicesEn SQL Server Reporting Services, en el área de diseño de informes, la ventana de datos de informe muestra los datos que se utilizan para alimentar el informe. 

La ventana se abre por defecto, pero si se cierra accidentalmente, o por lo que sea no está visible tan sólo hay que ir al menú principal de Visual Studio, y en la opción 'Ver', seleccionar 'Datos de informe', lo comento porque puede despistar mucho estar en modo diseño y no tener abierta esta ventana, y el nombre no es demasiado intuitivo para encontrarla enseguida.

Tips para realizar UPSERTs o updates con insert en SQL Server

Merge SQL

En muchas ocasiones, especialmente en procesos ETL o de carga de datos para un data warehouse, por ejemplo, interesa hacer en una sola sentencia o en un solo paso la comprobación de si un registro existe, y si existe actualizarlo, y si no insertarlo. A esta combinación se le ha apodado UPSERT, aunque en SQL existe una sentencia específica para hacerlo, que es MERGE.

Cómo conectar desde Oracle SQL Developer con un SQL Server remoto

Firewall de WindowsHe probado a crear una conexión en SQL Developer con una base de datos SQL Server remota. Los primeros pasos para configurar Oracle SQL Developer ya están descritos en el artículo de introducción a SQL Developer, y ya había hecho alguna prueba con un SQL Server instalado en la misma máquina que SQL Developer, pero al probar a hacerlo con una BD SQLServer remota he encontrado alguna dificultad más que creo que merece la pena comentar.

Lo primero que hay que tener en cuenta es que el puerto por el que vamos a conectar con la base de datos esté abierto en el servidor remoto para la máquina donde tengamos nuestro SQL Developer..

Microsoft Business Intelligence y su "Parallel Datawarehouse"

La Appliance de Microsoft Business IntelligenceHace más de un año anunciábamos que la integración de DATAllegro con SQL Server estaba cercana, y hace 6 meses decíamos que este lanzamiento del “Parallel Datawarehouse” se retrasaba, y no concretaban una fecha para su lanzamiento.

Pues bien, Microsoft ya ha anunciado la disponibilidad de este interesante producto. Forma parte de la familia de productos de SQL Server y, formalmente, se llama “Microsoft SQL Server 2008 R2 Parallel Data Warehouse” (y lo abrevian como PDW).

Se trata de una “Appliance”, es decir, se distribuye junto con un Hardware específico previamente configurado, y ofrece una alta escalabilidad (hasta cientos de Terabytes) para las necesidades de Business Intelligence y datawarehousing de gama alta.