Entradas

Mostrando las entradas etiquetadas como MSSQL

Backup multiple SQL databases

Backup multiple SQL databases This is a query I use to backup all of my lab databases. I use System Center 2012 Orchestrator (SCORCH) to kick off a runbook which executes this query againsy my SQL servers to backup all of the databases. You know as well as I do, there are many ways to accomplish this task...some even easier, however, in attempts to use SCORCH more frequently, I decided to make a RunBook to which performed the job for me. Using SCORCH's "Query Database" activity, I pasted the following code in the query window and set the connection parameters and off it went. You can copy the code below and run it in a SSMS query window and it will work as well.     ]------ Begin Code ------[ --declaring variables DECLARE @dbname VARCHAR(100) -- database name DECLARE @bupath VARCHAR(100) -- path for backup location DECLARE @filename VARCHAR(100) -- filename used for backup files DECLARE @datestamp VARCHAR(25) -- date used for backup file timestamp -- spec...

Collecting and Storing Poor Performing SQL Server Queries for Analysis

Imagen
Problem In an ideal world all of our queries would be optimized before they ever make it to a production SQL Server environment, but this is not always the case. Smaller data sets, different hardware, schema differences, etc. all effect the way our queries perform. This tip will look at a method of automatically collecting and storing poor performing SQL statements so they can be analyzed at a later date. Solution With the new Dynamic Management Views and functions available starting in SQL Server 2005, capturing information regarding the performance of you SQL queries is a pretty straightforward task. The following view and functions give you all the information you need to determine how the SQL in you cache is performing: sys.dm_exec_query_stats sys.dm_exec_sql_text(sql_handle) sys.dm_exec_query_plan(plan_handle) Using the view and functions above we can create a query that will pull out all the SQL queries that are currently in the cache. Along with the...

Configurar en Windows Oracle 11gR2 64 Bits DB LINK a SQL Server

> Crear el ODBC C:\windows\system32\odbcad32.exe .Si la instalación de oracle y el sql server están en el mismo equipo se puede utilizar el driver nativo de SQL Server. .Si la instalación de oracle y el sql server están separados se puede utilizar el driver nativo de SQL Server o del sistema. > Configurar el Listener # listener.ora Network Configuration File: C:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora # Generated by Oracle configuration tools. LISTENER =   (DESCRIPTION_LIST =     (DESCRIPTION =       (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-0QPOQFSMUN3)(PORT = 1521))       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))     )   ) ADR_BASE_LISTENER = C:\app\Administrador SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME=DNS32PRUEBA)     (ORACLE_HOME = C:\app\Administrador\product\11.2.0\dbhome_1)     (PROGRA...

T-SQL: Script para hacer copia de seguridad todas las bases de datos en SQL Server

Imagen
Muchas veces las cosas que parecen complicadas son más fáciles de lo que se cree y esta es una de las ventajas de usar T-SQL para que se encargue de hacer las tareas repetitivas. Una de estas tareas, por ejemplo, puede ser el hacer copias de seguridad de todas las bases de datos en el servidor. A lo mejor si tienes pocas bases de datos es fácil controlarlo, pero evidentemente existen escenarios donde hay más cientos de bases de datos en la misma instancia de SQL Server. Para esto se podría usar SQL Server Management Studio o usar los planes de mantenimiento, pero usar T-SQL es una práctica (en mi caso al menos) mucho más simple y rápida. Al usar T-SQL se pueden generar loa comandos de Backup en un cursor para luego sacar una copia de todas las bases de datos una por una mediante un bucle. Este es un proceso muy sencillo y sólo necesita unos cuantos comandos para hacer esto. A continuación muestro el script que permite hacer una copia de seguridad de cada Base de Datos en l...

T-SQL: Listar todas las tablas de una base de datos con sus respectivos tamaños

Imagen
Básicamente se trata de hacer una consulta de la tabla “sysindexes”, pero al tener muchos campos y algunos datos directamente ilegibles construimos una consulta haciendo las conversiones de datos solo de los campos que nos interesan, así como también los filtros respectivos para que no se incluya información que no sean propiedades de una tabla. Finalmente a esta consulta le podemos dar un formato numérico más legible y ordenarlo por el campo que nos sea de interés. En el siguiente ejemplo está ordenado descendente mente por número de registros que contiene la tabla. SELECT X.[name], REPLACE( CONVERT ( varchar , CONVERT (money, X.[ rows ]), 1), '.00' , '' ) AS [ rows ], REPLACE( CONVERT ( varchar , CONVERT (money, X.[reserved]), 1), '.00' , '' ) AS [reserved], REPLACE( CONVERT ( varchar , CONVERT (money, X.[ data ]), 1), '.00' , '' ) AS [ data ], REPLACE( CONVERT ( varchar , CONVERT...

Tareas de mantenimiento en SQL Server 2008

A continuación publico 3 scripts que serirán para realizar tareas de mantenimiento sobre nuestras bases de datos en un servidor SQL Server 2008. Estos 3 scripts son para realizar una copia de seguridad, reducir el log de transacciones y regenerar índices. Lo bueno de estos scripts es que no son exclusivos para una base de datos, sino que realizarán las tareas sobre todas las bases de datos que tengas en el servidor (o las que tú quieras). Copia de base de datos (Debes asignar la variable @backupPath con tu ruta): DECLARE  @backupPath  AS   VARCHAR ( MAX )   SET  @backupPath = N 'C:\SqlServer\MSSQL10.MSSQLSERVER\MSSQL\Backup\'       DECLARE  @dbName  AS   VARCHAR (100)   DECLARE  @file  AS   VARCHAR ( MAX )      DECLARE  c1  CURSOR   FOR    SELECT   name   FROM  master..sysdatabases sdb   WHERE  sdb. ...