-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdbo.usp_dba_dropuserobjects.sql
More file actions
67 lines (55 loc) · 2.56 KB
/
Copy pathdbo.usp_dba_dropuserobjects.sql
File metadata and controls
67 lines (55 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
USE [NBA]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*------------------------------------------------------------------------------
Procedure Name: dbo.usp_dba_dropuserobjects
Purpose: Drop all non-system user-created objects in the current database
+
+
+ Project: T-SQL-Scripts
+
+
+ Date Created: 2025-10-15
+
+
+ Author: Ludwig Mark
+
+
+ Notes:
+
+ - Iterates sys.objects and calls usp_dba_dropuserobject for each non-MS-shipped object
+
+
+ Safety:
+
+ - Destructive across the database; use with caution and only in safe/test environments
+
+
+ LICENSE: MIT
+
+------------------------------------------------------------------------------*/
CREATE PROCEDURE [dbo].[usp_dba_dropuserobjects]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @objectname varchar(max)
DECLARE drop_cursor CURSOR FOR
SELECT name FROM sys.objects
WHERE is_ms_shipped = 0
OPEN drop_cursor
FETCH NEXT FROM drop_cursor
INTO @objectname
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @objectname
EXEC dbo.usp_dba_dropuserobject @objectname
FETCH NEXT FROM drop_cursor
INTO @objectname
END
CLOSE drop_cursor
DEALLOCATE drop_cursor
END
GO