Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

Generate scripts for all the SPs in the DB

-- of course you can replace objects type (not only SPs - all the objects that can use sp_helptext)
-- if you don't need the drop part - remark it


DECLARE @Cmd nvarchar(max), @Object nvarchar(1000)
DECLARE CursorDelSPs CURSOR FORWARD_ONLY  FOR 
-------------- Start Select --------------------------
select SCHEMA_NAME(schema_id) + '.' + name from sys.objects 
where type in ('P', 'PC', 'RF', 'X')
and SCHEMA_NAME(schema_id) = 'dbo'
-------------- End Select ----------------------------
OPEN CursorDelSPs
FETCH NEXT FROM CursorDelSPs 
INTO @Object
WHILE (@@FETCH_STATUS = 0)
BEGIN
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(@Object) AND type in ('P', 'PC', 'RF', 'X'))
BEGIN
-- drop
print 'IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(' + @Object + ') AND type in (''P'', ''PC'', ''RF'', ''X''))
DROP PROCEDURE ' + @Object + '
GO
'
--header
print '/****** Object:  StoredProcedure ' + @Object + '    Script Date: ' + Convert(varchar, getdate(), 121) + ' ******/'
print 'SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO'
-- body
SET @Cmd = 'sp_helptext ''' + @Object + ''''
EXEC (@Cmd)

-- footer
print 'GO'
END

--Get next record from cursor
FETCH NEXT FROM CursorDelSPs 
INTO @Object
END
CLOSE CursorDelSPs
DEALLOCATE CursorDelSPs

No comments:

Post a Comment