acabo de generar el siguiente script(con mucha imaginacion), aun falta algunos datos que pides(solo genera el script de la tabla), pero creo lo puedes complementar o mejorar (ya me dio flojera terminarlo) [espero te sirva]
   
Código SQL:
Ver originalCREATE PROCEDURE dbo.generaScript_sp
    @tabla VARCHAR(40)
AS
    DECLARE @id INT
    --obtener el id de la tabla
        SET @id = isnull((SELECT id FROM dbo.sysobjects WHERE id = object_id(N'[dbo].['+ @tabla +']') AND OBJECTPROPERTY(id, N'IsUserTable') = 1),0)
 
    IF @id<>0
    BEGIN
        SELECT 
            campo 
        FROM (
            SELECT 'create table dbo.' + @tabla + '( campo numeric(9) null' AS campo, 0 AS colorder
            UNION
            SELECT ', ['+CONVERT(sysname,c.name) + '] ' + 
                t.name + CASE t.name WHEN 'datetime' THEN ' ' ELSE '('+CONVERT(VARCHAR,CASE WHEN d.DATA_TYPE IN (6,7) THEN d.data_precision ELSE OdbcPrec(c.xtype,c.LENGTH,c.xprec) END) + ') ' END + (
                CASE CONVERT(INT, ColumnProperty (c.id, c.name, 'AllowsNull')) WHEN 1 THEN 'NULL' WHEN 0 THEN '' END)+ ' Default ' + isnull(text,'NULL') AS Campo,c.colorder
            FROM
                sysobjects o,
                master.dbo.spt_datatype_info d,
                systypes t,
                syscolumns c
                LEFT OUTER JOIN syscomments m ON c.cdefault = m.id AND m.colid = 1
            WHERE
                o.id = @id
                AND c.id = o.id
                AND t.xtype = d.ss_dtype
                AND c.LENGTH = isnull(d.fixlen, c.LENGTH)
                AND (d.ODBCVer IS NULL OR d.ODBCVer = 2)
                AND (o.TYPE NOT IN ('P', 'FN', 'TF', 'IF') OR (o.TYPE IN ('TF', 'IF') AND c.NUMBER = 0))
                AND isnull(d.AUTO_INCREMENT,0) = isnull(ColumnProperty (c.id, c.name, 'IsIdentity'),0)
                AND c.xusertype = t.xusertype
            UNION 
            SELECT ')',9999998 AS colorder
            UNION
            SELECT 'alter table ' + @tabla + ' drop column [campo]',9999999 AS colorder
        )B 
        ORDER BY colorder
    END
 
GO
 
EXEC generaScript_sp 'tutabla'