Archivo

Entradas Etiquetadas ‘Transact SQL’

Recuperando datos aleatorios de SQL Server con TABLESAMPLE

sábado, 2 de marzo de 2024 1 comentario

Este truco es parecido tanto a la función RAND () como a la función NEWID(). Ambos métodos son útiles, pero un problema con estos, es que dependiendo de cómo los usas puedes terminar leyendo toda la tabla entera para conseguir una distribución aleatoria de los datos. Lo bueno de esto es que estás casi seguro de que obtendrás un conjunto de registros totalmente aleatorio cada vez. Debido a la potencial sobrecarga con la lectura a través de toda la tabla ¿Existen otros métodos para recuperar datos de forma aleatoria?

Leer más…

Cambia la secuencia de intercalación de todos los campos en una base de datos

miércoles, 21 de febrero de 2024 2 comentarios

Cuando tienes servidores SQL Server con la configuración de intercalación diferente, tus bases de datos pueden ser diferentes en estos servidores, cuando no se especifique la intercalación de manera explícita. Para solucionar esto, es necesario modificar todos los campos con una secuencia de intercalación diferente. Tienes que hacer esto manualmente, mediante la apertura de cada tabla en el Administrador corporativo del SQL, revisar cada columna, y cambiar la secuencia de intercalación. Es innecesario decir que esta es una tarea tediosa.
Leer más…

Sleep en Script T-SQL

lunes, 5 de febrero de 2024 Sin comentarios

Digamos que deseas esperar durante 10 segundos o hasta un determinado momento antes de proseguir adelante en un script. Este es el Transact SQL a utilizar:

WAITFOR Delay '000: 00:10 '

Usa sp_send_dbmail para enviar múltiples archivos adjuntos

sábado, 3 de febrero de 2024 1 comentario

He encontrado algo interesante, si alguna vez deseas enviar varios informes o archivos utilizando sp_send_dbmail.
Tienes que establecer primero la ROWCOUNT en 0 (cero).
No puede haber un espacio después del punto y coma que separa la ruta completa de los informes.

SET ROWCOUNT 0 
EXEC msdb.dbo.sp_send_dbmail
@profile_name     = 'Your_Server_Profile',
@recipients       = 'recipient.1@xyz.com; recipient.2@xyz.com',
@body             = 'Reports 1 and 2 are attached',
@file_attachments = 'C:\Report Folder\Report1.TXT;C:\Report Folder\Report2.TXT',
@subject          = 'Reports 1 and 2 are attached' ;

Espero sea de utilidad!.

Objeto Explore

viernes, 2 de febrero de 2024 Sin comentarios

USO

En primer lugar tienes que ejecutar el script que esta al final de este artículo en la base de datos donde deseas crear este procedimiento.

Entonces, puedes ejecutar el procedimiento almacenado con la siguiente declaración:

EXEC sp_ObjectExplore 'Nombre_BasedeDatos.esquema.nombreTabla'

No es necesario proporcionar Nombre_BasedeDatos y el esquema (por ejemplo: dbo) cuando la tabla está en la misma base de datos que el procedimiento.

Si deseas métricas adicionales sobre la distribución de todas las variables numéricas, ejecútalo con el parámetro de @distribución=’yes’.
Leer más…

Cuándo utilizar SET vs SELECT al asignar valores a las variables en SQL Server

jueves, 25 de enero de 2024 5 comentarios

SET y SELECT pueden ser usados para asignar valores a las variables a través de T-SQL. Ambos cumplen su tarea, pero en algunos casos se pueden producir resultados inesperados. En este artículo menciono detalles sobre las consideraciones para elegir entre los métodos SET y SELECT al asignar un valor a una variable.

En la mayoría de los casos SET y SELECT pueden ser utilizados alternativamente sin ningún efecto.
Leer más…

Verificador de los miembros de grupos de Windows

lunes, 8 de enero de 2024 Sin comentarios

Un script para revelar que los inicios de sesión tienen acceso al servidor SQL a través de los grupos de Windows.

Si utiliza autenticación de Windows y tiene grupos de Windows como inicios de sesión este script te puede ayudar.
Revela los miembros de los grupos de Windows y sus permisos de servidor.

Esto es especialmente útil si no eres el administrador de red o no tienes acceso a las herramientas del Active Directory.

Espero que ayude a alguien…
Leer más…

Servidor SQL Server lento pero CPU Normal

lunes, 1 de enero de 2024 2 comentarios

Tienes algunos problemas con SQL Server. De vez en cuando tienes períodos en los cuales incluso la ejecución de un simple SELECT demora más de un minuto. Durante este período, el uso de CPU y memoria en el servidor tienen una apariencia normal. Haz realizado algún control básico sobre el servidor utilizando el monitor de rendimiento, pero con esto no se ha descubierto nada y ya no tienes más ideas. ¿Cuál sería el siguiente paso en el diagnóstico del problema?

Te pones a revisar los procesos que están corriendo en el servidor SQL Server y ves que la mayoría tiene un tipo de espera CXPACKET.
Leer más…

Enlazando la fila previa

domingo, 3 de diciembre de 2023 Sin comentarios

Dos de las mejores adiciones al T-SQL en SQL Server 2005 son las expresiones de tabla común (CTE), y la función Row_number (). En este artículo vamos a ver cómo se pueden utilizar estas dos características juntas para proporcionar una solución elegante a un problema histórico.

En primer lugar daremos una mirada muy rápida en cada uno de ellos.
Leer más…

Top Footer