Error al abrir diagramas de bases de datos en SQL SERVER.

Cuando estamos desarrollando, es frecuente que traslademos la base de datos de un servidor SQL a otro, no voy a hablar de esto sino de lo que ocurre cuando intentamos abrir los diagramas de bases de datos, ya que nos podemos encontrar con el siguiente mensaje:

En realidad esto no es un error sino un aviso informativo de que el propietario no es el mismo que creo la base de datos, simplemente abrir una nueva consulta con conexión actual desde el menu y escribir:

ALTER AUTHORIZATION ON DATABASE::miDatabase TO valid_login

Ejecutar y esto es todo.

 

SQL Server Profiler Supervisar instáncia base de datos

En este artículo haré un breve resumen de la utilización de SQL SERVER Profiler, herramienta de indudable interés para saber que está ocurriendo en nuestra base de datos.

Lo primero que haremos será localizarlo en la lista de programas, microsoft sql server 2008, Perfomance Tools, SQL SERVER PROFILER

profiler joan miquel fernandez jmdeveloper

También podemos acceder a él desde el Management Studio
profiler joan miquel fernandez jmdeveloper

Esperamos a que arranque

profiler joan miquel fernandez jmdeveloper

Creamos una nueva traza

profiler joan miquel fernandez jmdeveloper

Nos conectamos a la instancia de la base de datos

profiler joan miquel fernandez jmdeveloper

Aquí podemos elegir entre varias templates

profiler joan miquel fernandez jmdeveloper

Podemos configurar los diferentes eventos a monitorizar, por defecto  y para pruebas no hace falta cambiar nada.
profiler joan miquel fernandez jmdeveloper

Vemos un ejemplo de como aplicar un filtro

profiler joan miquel fernandez jmdeveloper


profiler joan miquel fernandez jmdeveloper

Aquí vemos como vamos recibiendo las diferentes operaciones dentro de la traza.
profiler joan miquel fernandez jmdeveloper

Espero que os sea de utilidad… 🙂

Sumar columna acumulada SQL Server

Joan Miquel Fernandez nos explica a continuación como obtener una columna acumulada dentro de una consulta. El objetivo de esta query es conseguir el total acumulado de todas las filas hasta la fila actual de una columna.

Como se puede deducir fácilmente es util en programas de control de stocks, contabilidad, etc…

SELECT     idcontador, fecha, idproducto, documento, tipomovimiento, identidad, entrada, salida, (SELECT     SUM(entrada - salida) AS arrastre
                            FROM          temporal_movimientos AS t1
                            WHERE      (idcontador = t.idcontador)) AS Arrastre2
FROM         temporal_movimientos AS t
ORDER BY idcontador