Skip to main content

Posts

Showing posts with the label sql server

Historial de restauraciones SQL Server

El siguiente script tiene por finalidad entregar información sobre las restauraciones realizadas en una instancia SQL Server. SELECT destination_database_name AS 'Database Name', restore_date AS 'Date Restored', CASE restore_type WHEN 'D' THEN 'Full Backup' WHEN 'I' THEN 'Diffrential backup' WHEN 'L' THEN 'Log Backup' END AS 'Restored From', CASE recovery WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' END AS 'With Recovery', backup_finish_date AS 'Backup taken', Cast(backup_size/1024/1024 AS numeric(10,2)) AS 'Backup Size(MB)' , physical_device_name AS 'Backup Location' FROM msdb..restorehistory, msdb..backupset, msdb..backupmediafamily WHERE msdb..restorehistory.backup_set_id= msdb..backupset.backup_set_id AND msdb..backupset.media_set_id=msdb..backupmediafamily.media_set_id ORDER BY destination_database_name, restore_date DESC;

Linked server desde SQL Server 2012 a Oracle 11G

Primero se debe instalar cliente oracle (modo administrador) y configurar un registro en TNSNAMES (con NETCA) apuntando a la base de datos de destino. Puedes descargar el cliente desde acá . Luego, en la base de datos primaria (SQL Server), se deben ejecutar los siguientes comandos en la base de datos master: 1.- AllowInProcess: exec master.dbo.sp_MSset_oledb_prop 'ORAOLEDB.Oracle', N'AllowInProcess', 1 2.- DynamicParameters: exec master.dbo.sp_MSset_oledb_prop 'ORAOLEDB.Oracle', N'DynamicParameters', 1 3.- Destiny: exec sp_addlinkedserver N'DESTINO', 'Oracle', 'ORAOLEDB.Oracle', N'//<ip del servidor de destino>/<instancia>', N'FetchSize=2000', '' 4.- RPC out: exec master.dbo.sp_serveroption @server=N'DESTINO', @optname=N'rpc out', @optvalue=N'true' 5.- Remote server: exec sp_addlinkedsrvlogin @rmtsrvname='N'DESTINO', @useself=N'FALSE'...

Información de backups

El siguiente script tiene por objetivo entregarnos toda la información correspondiente a los respaldos realizados sobre todas las bases de datos de una instancia. En el mismo se encuentra un filtro que nos permite saber la información de un día exacto. Dicho script ha sido probado exitosamente desde la versión SQL Server 2000 hasta 2014 SELECT A.[Server] as Servidor, --B.backup_start_date Fecha_inicio, A.last_db_backup_date as Fecha, --B.expiration_date, B.backup_size as [Tamaño(bytes)], --B.logical_device_name as Nombre_logico, B.physical_device_name as Nombre_fisico --B.backupset_name as Backup_set, --B.description as Descripcion FROM ( SELECT CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, msdb.dbo.backupset.database_name, MAX(msdb.dbo.backupset.backup_finish_date) AS last_db_backup_date FROM msdb.dbo.backupmediafamily INNER JOIN msdb.dbo.backupset ON msdb.dbo.backu...

Tamaño de datafiles SQL Server 2000

Los siguientes scripts tiene por finalidad mostrar el tamaño de los datafiles y log files de todas las bases de datos de una instancia. En el primer ejemplo se muestra también el tipo de recuperación configurado en la base datos mientras que el segundo es compatible con instancias SQL Server 2000 y superiores. --SQL 2005 O SUPERIOR SELECT DBID ,D.NAME ,D.COMPATIBILITY_LEVEL ,D.RECOVERY_MODEL_DESC ,CONVERT(DECIMAL(18,2),(SUM(SIZE)*8)/1024.0) AS DB_SIZE_IN_MB ,(SELECT (SIZE*8)/1024.0 FROM SYS.SYSALTFILES WHERE DBID=SAF.DBID AND GROUPID=0) AS LOG_SIZE_IN_MB FROM SYS.SYSALTFILES SAF JOIN SYS.DATABASES D ON SAF.DBID=D.DATABASE_ID WHERE GROUPID>0 GROUP BY DBID,D.NAME,D.COMPATIBILITY_LEVEL,D.RECOVERY_MODEL_DESC --SQL 2000 O SUPERIOR SELECT SAF.DBID AS [DBID] ,D.NAME AS [NOMBRE] --,D.CMPTLEVEL ,CONVERT(DECIMAL(18,2),(SUM(SIZE)*8)/1024.0) AS [TAMAÑO DATAFILE MB] ,(SELECT CONVERT(DECIMAL(18,2),(SIZE*8)/1024.0) FROM [MASTER].[DBO].[SYSALTFILES] WHERE DBID=SAF.DBID AND GROUP...

Uso de memoria en SQL Server

Configuración de memoria Muchas veces, nos encontramos con que un servidor SQL Server está consumiendo demasiada memoria. Las causas de esto pueden ser muchas; Demasiados usuarios conectados o un exceso de carga de trabajo pueden ser las causantes. Sin embargo, una de las características que mas destacan de SQL Server , es que una vez que le asignamos memoria , la instancia es la encargada de administrarla, me explico. Cuando miramos el administrador de tareas de Windows (Task manager) nos daremos cuenta de que en la pestaña de rendimiento se observa muy poca memoria disponible. Esto no quiere decir que sea esa la memoria utilizada (aunque explícitamente lo diga), debido a que la instancia administra su propia memoria libre dentro de su memoria utilizada. Por ejemplo, si tenemos un servidor con 100GB de memoria RAM, y Task manager nos indica que tenemos 2 GB libres, y además, SQL Server está ocupando 90GB de RAM, tenemos que tomar en cuenta que dentro de esos 90GB ocupados por la i...

Contadores de rendimiento SQL Server

Una de las mejores formas que tenemos para obtener estadísticas de nuestros servidores de bases de datos SQL Server, es ocupar el Monitor de rendimiento de Windows (Perfmon). Sin embargo, al utilizarlo nos daremos cuenta de que es un poco tedioso encontrar los contadores o items que necesitamos, o que nos ayudarán a obtener información realmente relevante respecto a nuestro servidor.

Liberar espacio en SQL Server 2008, 2008R2 y 2012

El aspecto más importante a cuidar dentro de un servidor de base de datos, es precisamente mantener espacio disponible para poder realizar procedimientos e ingreso de datos. Sin embargo muchas veces no tenemos muchas formas de identificar cuales son los archivos que están sobrando dentro del servidor (Sistema operativo). En SQL Server 2008 una de las características que más presenta problemas con este tema, es el crecimiento de los Logs de transacciones, el cual mantiene toda la información transaccional de la base de datos, es decir, las instrucciones insert, update y delete. Para consultar el espacio de los archivos de log podemos realizar la siguiente consulta: DBCC SQLPERF(LOGSPACE) El resultado de esta consulta nos entregará información acerca de las bases de datos de la instancia, el tamaño de su correspondiente log, el porcentaje del log ocupado y, finalmente, el estado. El siguiente script tiene por finalidad recorrer todas las bases de datos y truncar los logs que están...

Levantamiento completo de parámetros SQL SERVER

Levantamiento El siguiente script tiene por finalidad rescatar la información más relevante de la base de datos. La idea principal, es que se utilice para recolectar los parámetros que pueden ser de utilidad a la hora de diagnosticar una base de datos. Este script puede ser ejecutado desde la versión 7 de SQL Server y ha sido probado hasta la versión 2012.

Tips backup SQL Server

Backup SQL Server Aquí hay doce consejos útiles para asegurar que está realizando copia de seguridad y operaciones de restauración de SQL SERVER de la manera más eficiente posible.

Consulta de espacio ocupado de logs SQL SERVER

SQLPERF Pese a que en SQL SERVER disponemos de funciones simples que nos devuelven información relevante sobre el uso de la base de datos, muchas veces necesitamos especificar campos específicos sobre una funcion predeterminada. En el ejemplo siguiente, se muestra la consulta equivalente a realizar una de las DMF más usadas: DBCC sqlperf(logspace) La consulta anterior es exactamente igual a la siguiente: SELECT instance_name AS DatabaseName,        [Data File(s) Size (KB)],        [LOG File(s) Size (KB)],        [Log File(s) Used Size (KB)],        [Percent Log Used] FROM (    SELECT *    FROM sys.dm_os_performance_counters    WHERE counter_name IN    (        'Data File(s) Size (KB)',        'Log File(s) Size (KB)',        'Log File(s) Used Size (KB)',        'Per...

Reconstruir contadores de rendimiento SQL Server 2005

lodctr.exe Descripción del problema Al intentar agregar items al monitor de rendimiento de windows (perfmon), relacionados con SQL Server, es decir, parámetros de instancia, memoria o uso de disco, estos no se pueden agregar, o se pueden agregar pero no muestran datos. Asimismo, cuando se intenta monitorear la base de datos desde otro servidor, a través de contadores, como por ejemplo con el servidor de monitoreo Zabbix, el host que se trata de monitorear no registra datos.