Mostrando las entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando las entradas con la etiqueta SQL. Mostrar todas las entradas

18 feb 2017

// // Comentar

[SQL Server] Backup a todas las bases de datos

Las copias de seguridad de las bases de datos son muy importantes es por eso que se recomienda hacerlas periódicamente para no perder alguna información valiosa que estas contengan.

Ya sea que estés trabajando locamente o en un servidor hacerlo una a una puede ser tedioso y hasta aburrido, menos mal que SQL no da la facilidad de hacerlo vía Script y con un cursos podemos sacarle copia a todas nuestras bases de datos.

Para ello pueden usar este script:

DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name
 
-- specify database backup directory
SET @path = 'C:\Backup\'  
 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
 
DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
   SET @fileName = @path + @name + '_' + @fileDate + '.bak'  
   BACKUP DATABASE @name TO DISK = @fileName  
 
   FETCH NEXT FROM db_cursor INTO @name   
END   

 
CLOSE db_cursor   
DEALLOCATE db_cursor


Fuente: MSSQLTips
Leer post completo

22 abr 2009

// // Comentar

SQL Energy Event en la UNT

Ya hace buen tiempo que en la UNT no se hacia un eventito, pues ahora la gente de la Célula se ha puesto las pilas y estamos retomando actividades, para empezar se hará uno como Lanzamiento Oficial de SQL Server 2008, donde se mostrará muchas características y las ventajas que nos ofrece este producto, mas detalles en el afiche.

Evento Mayo 2009

Leer post completo

9 abr 2009

// // 2 comentarios

PIVOT SQL: Pasar filas a columnas

SQL no es mi fuerte, pero quisiera compartirles algo que he usado últimamente para solucionar un problema que he tenido con una consulta, pues resulta que tengo una tabla de Productos, los cuales están clasificados (Línea-Representada), lo cual lo tenia en otras tablas, y necesitaba traer cada producto con su línea y representada, con una consulta normal como esta:

SELECT    P.Codigo, P.Nombre, N.Nombre AS Nivel, A.Nombre AS Atributo, P.Ean
FROM Productos P
INNER JOIN ProductoAtributos PA ON PA.ProductoID = P.ProductoID
INNER JOIN Atributos A ON A.AtributoID = PA.AtributoID
INNER JOIN NivelProducto N ON N .NivelID = A.NivelID


El resultado seria el siguiente:



Codigo      Nombre                       Nivel                 Atributo                Ean             
-----------   ------------------------     --------------        -----------               ---------------


1000000     PAMPERS BABYSEC     Línea                 LACTEOS               5655425689322


1000000     PAMPERS BABYSEC     Representada    GLORIA                 5655425689322


1000001     GASEOSA CASINELLI   Línea                 CONDIMENTOS      6547574575474


1000001     GASEOSA CASINELLI   Representada    AJINOMOTO          6547574575474



Si analizamos el resultado, no nos sirve de mucho ya que se repite el producto con la Línea y la Representada, a mi lo que me interesa es tener la Línea y la representada en un solo registro con el producto, así que revisando un poco encontré la solución en PIVOT, esta es una característica nueva que viene a partir de la versión 2005 de SQL.



Con esta característica podremos colocar la Línea y la Representada en columnas y obtener el resultado deseado, la consulta quedaría algo así:



SELECT Codigo, Nombre, [Linea] AS 'Linea', [Representada] AS 'Representada', Ean
FROM (
SELECT P.Codigo, P.Nombre, N.Nombre AS Nivel, A.Nombre AS Atributo, P.Ean
FROM Productos P
INNER JOIN ProductoAtributos PA ON PA.ProductoID = P.ProductoID
INNER JOIN Atributos A ON A.AtributoID = PA.AtributoID
INNER JOIN NivelProducto N ON N .NivelID = A.NivelID
) PVT
PIVOT(
MIN(Atributo) FOR [Nivel] IN([Linea], [Representada])) AS Child




Obteniendo el resultado siguiente



 



Codigo      Nombre                       Línea                Representada   Ean

-----------   -------------------           ------------          -------------         ---------------


1000000     PAMPERS BABYSEC     LACTEOS           GLORIA             5655425689322


1000001     GASEOSA CASINELLI   CONDIMENTOS  AJINOMOTO      6547574575474



Esto si que nos sirve, tenemos un resultado mas ordenado y mejor presentado, con esto solucionamos el problema, esto se le conoce como PIVOT Estático, ya que las columnas las asignamos en duro, pero también se puede hacer dinámicamente, quizá mas adelante comente al respecto, por mientras les dejo algunos enlaces para que puedan profundizar el tema.



Usar PIVOT y UNPIVOT



Pasar filas a columnas con T-SQL: PIVOT() y las cosas que te alegran el día :)



Pivot y Unpivot en SQL Server 2005



Implementación de PIVOT Dinámico

Leer post completo

24 ene 2007

// // Comentar

Nueva version de SQL Prompt

Esta es una gran herramienta que nos ayuda bastante a los que trabajamos con SQL Server, si no lo conoces, pues le comentos que es como un intellicense para el SQL que nos hace la vida mas facil al no tener que escribir consultas compleas, sino que con esta herramienta nos va mostrando las opciones que tenemos de acuerdo a las letras que vayamos escribiendo, asi se hara mas ameno el desarrollo en SQL y mucho mas rapido tambien.

Ya habia una version anterior la cuales muchos ya la estan usando, pero queria comentarles que se acaba de liberar la version 3 de esta herramienta asi que descarguenlo y a codificar.

Por cierto antes era gratuito, pero ahora parece que se paga, pero igual pueden probarla por 15 dias xD!!

Dentro de las mejoras de esta nueva version tenemos:

  • Completar nombre Tablas/Vista
  • Completar nombre de la columna
  • Completar nombre de procedimientos almacenados
  • Completar USEs
  • Completar JOIN/JOIN ON
  • Auto-uppercasing de palabras reservadas
  • Auto-popup despues de las palabras reservada
  • Column picker

Descargar Ver demo

Saludos,
Ricardo La Rosa
Leer post completo