Sql 2005 generar scripts de los Sps

07/03/2008 - 22:48 por SergioT | Informe spam
Hola

Tengo la necesidad de GENERAR scripts de los sps almacenados en mi BD , pero
no me sirve crearlos en un solo archivo como lo hace el asistente de
generación de scripts del SSMS (Sql server management studio), necesito que
se genere un archivo por cada sp, esto por que quiero utilizar al VSS y
necesito que cada sp tenga un archivo en diosco

Existe alguna forma automática que me permita llamar a un sp tal vez que
este en la BD master y que este sp me devuelva el código del sp, de forma
que pueda colocarlo en un archivo en disco con el nombre del sp como nombre
de archivo. Ademas necesito que cada sp que se genere tenga un formato
similar a este:

if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[bSelNomenUnoXCodNomenUsr]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[bSelNomenUnoXCodNomenUsr]
GO

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[bSelNomenUnoXCodNomenUsr]
(
@IdMask smallint,
@Cta char(15)
)
AS
BEGIN
SET NOCOUNT ON;

Select * From bNomenclador Where IdMask=@IdMask And CodNomenUsr=@Cta and
Nivel>0

END

Este script esta generado desde el Adm coorporativo del sql2000

Ocurre que tengo cientos de Sps en mi BD y hacerlo a mano me resulta
sumamente moroso y me gustaria un procedimiento mas automatico

gracias por la ayuda
Salu2
Sergio
 

Leer las respuestas

#1 Salvador Ramos
08/03/2008 - 10:46 | Informe spam
Hola,

Eso puedes hacerlo desde el Managemen Studio.
Botón derecho sobre tu base de datos, Todas las Tareas, Generar Secuencia de
comandos SQL. Vas siguiendo el asistente, y en la penúltima pantalla donde
eliges la opción de salida, si seleccionas generar a archivo, te permite
hacerlo a un solo archivo o a un archivo por objeto.

Un saludo
Salvador Ramos
Solid Quality Mentors (http://www.solidq.com)

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
www.helpdna.net/acerca_de_salvador_ramos.htm


"SergioT" escribió en el mensaje
news:
Hola

Tengo la necesidad de GENERAR scripts de los sps almacenados en mi BD ,
pero no me sirve crearlos en un solo archivo como lo hace el asistente de
generación de scripts del SSMS (Sql server management studio), necesito
que se genere un archivo por cada sp, esto por que quiero utilizar al VSS
y necesito que cada sp tenga un archivo en diosco

Existe alguna forma automática que me permita llamar a un sp tal vez que
este en la BD master y que este sp me devuelva el código del sp, de forma
que pueda colocarlo en un archivo en disco con el nombre del sp como
nombre de archivo. Ademas necesito que cada sp que se genere tenga un
formato similar a este:

if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[bSelNomenUnoXCodNomenUsr]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[bSelNomenUnoXCodNomenUsr]
GO

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[bSelNomenUnoXCodNomenUsr]
(
@IdMask smallint,
@Cta char(15)
)
AS
BEGIN
SET NOCOUNT ON;

Select * From bNomenclador Where IdMask=@IdMask And CodNomenUsr=@Cta and
Nivel>0

END

Este script esta generado desde el Adm coorporativo del sql2000

Ocurre que tengo cientos de Sps en mi BD y hacerlo a mano me resulta
sumamente moroso y me gustaria un procedimiento mas automatico

gracias por la ayuda
Salu2
Sergio

Preguntas similares