Generar Script de una tabla,vista,Procedimiento
Segun Willy Taveras, se puede mediante el siguiente store
USE [master]
GO
/****** Object: StoredProcedure [dbo].[ScriptGenerator] Script Date: 11/03/2010 09:40:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/****** Object: Stored Procedure dbo.proc_genscript Script Date: 5/8/2003 11:06:53 AM ******/
CREATE
PROCEDURE [dbo].[ScriptGenerator]
@ServerName varchar(30),
@Database varchar(30),
@ObjectName varchar(50),
@ObjectType varchar(10),
@TableName varchar(50),
@ScriptFile varchar(255)
AS
DECLARE
@CmdStr varchar(255)
DECLARE
@object int
DECLARE
@hr int
SET
NOCOUNT ON
SET
@CmdStr = 'Connect('+@ServerName+')'
EXEC
@hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT
--Comment out for standard login
EXEC
@hr = sp_OASetProperty @object, 'LoginSecure', TRUE
/* Uncomment for Standard Login
EXEC @hr = sp_OASetProperty @object, 'Login', 'sa'
EXEC @hr = sp_OASetProperty @object, 'password', 'sapassword'
*/
EXEC
@hr = sp_OAMethod @object,@CmdStr
SET
@CmdStr =
CASE @ObjectType
WHEN 'Database' THEN 'Databases("'
WHEN 'Procedure' THEN 'Databases("' + @Database + '").StoredProcedures("'
WHEN 'Function' THEN 'Databases("' + @Database + '").UserDefinedFunctions("'
WHEN 'View' THEN 'Databases("' + @Database + '").Views("'
WHEN 'Table' THEN 'Databases("' + @Database + '").Tables("'
WHEN 'Index' THEN 'Databases("' + @Database + '").Tables("' + @TableName + '").Indexes("'
WHEN 'Trigger' THEN 'Databases("' + @Database + '").Tables("' + @TableName + '").Triggers("'
WHEN 'Key' THEN 'Databases("' + @Database + '").Tables("' + @TableName + '").Keys("'
WHEN 'Check' THEN 'Databases("' + @Database + '").Tables("' + @TableName + '").Checks("'
WHEN 'Job' THEN 'Jobserver.Jobs("'
END
SET
@CmdStr = @CmdStr + @ObjectName + '").Script(5,"' + @ScriptFile + '")'
EXEC
@hr = sp_OAMethod @object, @CmdStr
EXEC
@hr = sp_OADestroy @object