यदि आपके पास स्कीमा में बड़ी संख्या में ऑब्जेक्ट हैं, तो आप सभी परिवर्तनों को स्वचालित रूप से उत्पन्न करने के लिए कुछ इस तरह का उपयोग कर सकते हैं (यह केवल टेबल और दृश्य करता है, इसलिए इसे चलाने से पहले, आपको इसे एसपी, यूडीएफ, आदि तक विस्तारित करने की आवश्यकता हो सकती है। ।)
USE SandBox
DECLARE @OldSchema AS varchar(255)
DECLARE @NewSchema AS varchar(255)
DECLARE @newLine AS varchar(2) = CHAR(13) + CHAR(10)
SET @OldSchema = 'dbo'
SET @NewSchema = 'StackOverflow'
DECLARE @sql AS varchar(MAX)
SET @sql = 'CREATE SCHEMA [' + @NewSchema + ']' + @newLine
SELECT @sql = @sql + 'GO' + @newLine
SELECT @sql = @sql + 'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'
+ @newLine
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = @OldSchema
SET @sql = @sql + 'DROP SCHEMA [' + @OldSchema + ']'
PRINT @sql -- NOTE PRINT HAS AN 8000 byte limit - 8000 varchar/4000 nvarchar - see comments
IF (0=1) EXEC (@sql)