Mostrando entradas con la etiqueta ms sql server. Mostrar todas las entradas
Mostrando entradas con la etiqueta ms sql server. Mostrar todas las entradas

miércoles, 9 de diciembre de 2009

SQL Server 2005, Limpiar base de datos y restablecer columnas identity, todo en 6 lineas!


Una manera sencilla para vaciar nuestras base de datos en SQL Server 2005 se muestra a continuación. El artículo original se encuentra en DotNetSlackers.

/*Disable Constraints & Triggers*/
exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'

/*Perform delete operation on all table for cleanup*/
exec sp_MSforeachtable 'DELETE ?'

/*Enable Constraints & Triggers again*/
exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'

/*Reset Identity on tables with identity column*/
exec sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'

Referencias:
SQL Server 2005, Clean your Database Records & reset Identity Columns, all in 6 lines!

miércoles, 18 de noviembre de 2009

Filtros SQL dinámico para reportes en SQL Server


Me ha sido de gran utilidad este artículo sobre Filtros dinámicos en SQL Server para realizar Reportes. Se los recomiendo y les puede ser de utilidad usando DataWindow con procedimientos almacenados como fuente de datos para generar los reportes que necesiten.

Espero les sea de utilidad.


martes, 10 de noviembre de 2009

Funte de datos Stored Procedure y Transact SQL


Trabajando con Datawindow y las diferentes fuentes de datos (DataSource), al utilizar la fuente de datos Stored Procedure me ha sido de gran utilidad los siguientes enlaces para trabajar con Transact SQL y la programación para el SQL dinámico generando consultas con criterios de búsqueda.

Referencias:


lunes, 12 de octubre de 2009

Asistente para la publicación de datos en MSSQL 2005


Una herramienta útil para exportar y generar secuencias de comandos para bases de datos y objetos es Database Publishing Wizard, esta nos permite conectarnos a un servidor local o remoto de base de datos Microsoft SQL Server 2005 y realizar estas tareas con gran facilidad y rapidez. Para más información visite los enlaces de referencia. Espero que les sea de utilidad.

Referencias:

sábado, 10 de octubre de 2009

Crear un Esquema de Base Datos en SQL Server Management Studio


Para crear un esquema de base de datos mediante SQL Server Management Studio

1. En SQL Server Management Studio, abrir el Explorador de Objetos y expandir la carpeta Base de datos.

2. Expandir la base de datos en la cual se quiere crear el nuevo esquema.

3. Click derecho en la carpeta Seguridad, Nuevo y click en Esquema.

4. En la página General, entre un nombre para el nuevo esquema en la caja Nombre del esquema.

5. En la caja Propietario del esquema, entre el nombre del usuario de la base de datos o el rol de propietario (dbo) para el esquema.

6. Click OK

Para crear un esquema usando Transact-SQL

1. En el editor de consulta. conectar a la base de datos en la cual se creara el nuevo esquema para ejecutar el siguiente comando Transact-SQL

USE
GO

2. Crear el usuario para ejecutar el siguiente comando Transact-SQL

CREATE SCHEMA AUTHORIZATION [new schema owner] ;
GO


Referencia:


domingo, 16 de agosto de 2009

Salvar y Restaurar Base de Datos en MS SQL Server 2005


Les presento a continuación una vía de salvar y restaurar base de datos de forma práctica mediante sencillos pasos:

Salvar:

1. Paramos la instancia del Servidor MSSQL a través de SQL Server Configuration Manager.

2. En una instalación estandar los archivos de Datos y Logs se guardan en "C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\", debemos copiar los archivos con el nombre de la base de datos a respaldar y con extensiones *.mdf y *.ldf

3. Iniciamos los servicios sqlservr y sqlagent [SQL Server-MSSQL$SQLEXPRESS y SQLAgent$PINNACLESYS]

Restaurar:

1. Iniciamos la instancia del Servidor MSSQL

2. Creamos la base de datos con el mismo nombre

3. Detenemos los servicios relacionados con MSSQL Server

4. Sobreescribimos los archivos con extencion *.mdf y *.ldf de la base de datos a restaurar

5. Reiniciamos el servicio y Listo


miércoles, 12 de agosto de 2009

Informe de Bodega III

Estas son las últimas respuestas a preguntas relacionadas con el Informe de Bodega (I y II)

Confeccionar una consulta SQL que permita:

5. Obtener para cada producto el stock actual (considerar todas las compras y ventas)

SELECT p.pro_codigo, ((

SELECT ISNULL(SUM(compra.com_cantidad),0)

FROM compra

WHERE p.pro_codigo=compra.pro_codigo)-(

SELECT ISNULL(SUM(venta.vta_cantidad),0)

FROM venta

WHERE p.pro_codigo=venta.pro_codigo)) AS stock

FROM producto p




6. Obtener un listado de todos los productos que se encuentran bajo el stock crítico.

SELECT p.pro_codigo

FROM producto p

GROUP BY p.pro_codigo, p.pro_stock

HAVING p.pro_stock > ((

(

SELECT ISNULL(SUM(compra.com_cantidad),0)

FROM compra

WHERE p.pro_codigo=compra.pro_codigo)-(

SELECT ISNULL(SUM(venta.vta_cantidad),0)

FROM venta

WHERE p.pro_codigo=venta.pro_codigo))

)



7. Obtener por cada producto, el código, nombre y precio vigente el 01 de Enero de 2008.

SELECT p.pro_codigo , producto.pro_nombre, p.pre_valor

FROM precio p, producto

WHERE pre_desde = (

SELECT MAX(pre_desde) FROM precio

WHERE pro_codigo=p.pro_codigo AND pre_desde < '20080101')

AND producto.pro_codigo=p.pro_codigo


viernes, 7 de agosto de 2009

Informe de Bodega II

Continuamos respondiendo dos preguntas sobre el Informe de Bodega que vimos recientemente. Pueden obtener los datos de ejemplo en el respaldo de la base de datos. Recuerden compartir sus respuestas o vias de solución, dejando sus comentarios.


Confeccionar una consulta SQL que permita:

3. Obtener el código y nombre de cada producto que registre más de 500 unidades vendidas durante el 2005.

SELECT producto.pro_codigo, producto.pro_nombre

FROM producto, venta

WHERE producto.pro_codigo=venta.pro_codigo AND vta_fecha BETWEEN '20050101' AND '20051231'

GROUP BY producto.pro_codigo, venta.vta_cantidad, producto.pro_nombre

HAVING 500 < SUM(vta_cantidad)



4. Obtener cada uno de los productos que no registra ventas en el último mes.

SELECT producto.pro_codigo, producto.pro_nombre

FROM producto

WHERE pro_codigo NOT IN

(SELECT pro_codigo

FROM venta

WHERE venta.vta_fecha BETWEEN DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) AND dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

)