Entradas

Demostración de SQL Server Query Store

A continuación les comparto el script de TSQL utilizado durante la demostración de SQL Server Query Store. -- Creamos la base de datos CREATE   DATABASE   db_ejemplo_querystore   ON   PRIMARY   (   NAME   = N'db_ejemplo_querystore' ,   filename   =   N'C:\DATOS_SQL\db_ejemplo_querystore.mdf' , size   =   102400 kb ,   maxsize   =   1024000 kb ,   filegrowth   =   20480 kb   )   log   ON   (   NAME   = N'db_ejemplo_querystore_log' ,   filename   = N'C:\DATOS_SQL\db_ejemplo_querystore_log.ldf' ,   size   =   20480 kb ,   maxsize   =   1024000 kb ,   filegrowth   =   20480 kb   ) go ALTER   DATABASE   db_ejemplo_querystore SET   auto_update_statistics   OFF go ALTER   DATABASE   db_ejemplo_querystore SET   auto_create_statistics   OFF go ALTER ...

Cómo identificar consultas más pesadas en SQL Server

Muchas veces nos encontramos en situaciones en las cuales tenemos un servidor SQL Server, y los usuarios reportan que el sistema está lento, por lo tanto, es crucial que podamos identificar cuál es la causa.  El primer paso puede ser identificar cuáles son las consultas TSQL que están consumiendo más recursos en el servidor, para poder identificarlas podemos recurir al siguiente script, el cual nos devuelve las consultas ordenadas por tiempo de ejecución, a partir de esta consulta podemos identicar el TSQL que consume más recursos e iniciar nuestras tareas de mejoras de desempeño. -- Consultas que afectan el desempeño SELECT TOP 10 SUBSTRING ( qt . TEXT , ( qs . statement_start_offset / 2 ) + 1 , ( ( CASE qs . statement_end_offset WHEN - 1 THEN DATALENGTH ( qt . TEXT ) ELSE qs . statement_end_offset END - qs . statement_start_offset ) / 2 ) + 1 ) AS consulta_TSQL , db . name AS [nombre_base_datos] , qs . total_...

Restringir acceso desde el Management Studio

En algunas ocasiones se necesita poder restringir el acceso a SQL Server para ciertos usuarios y especificamente cuando se conectan a SQL Server por medio del Managment Studio. Una forma sencilla para poder realizar esta restricción es por medio de la creación de un Trigger, tal y como se muestra a continuación. CREATE   TRIGGER   restringiraccesosql   ON   all   server   FOR   logon   AS   BEGIN      IF   suser_name ( )   <>   'Dominio\AdminSQL'      AND      EXISTS      (             SELECT   *             FROM     sys . dm_exec_sessions             WHERE    program_name   IN   ( N'Microsoft SQL Server Management Studio - Query' )   RO...