Ändra Schema på alla objekt i en databas


Tag : schema,SQL,Table

Ett script jag hittade här som är väldigt användbart

StackOverflow Change schema

DECLARE @OldSchema varchar(200)
DECLARE @NewSchema varchar(200)
DECLARE @SQL nvarchar(4000)
SET @OldSchema = 'Old_Schema'
SET @NewSchema = 'dbo'

DECLARE tableCursor CURSOR FAST_FORWARD FOR SELECT 'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + SysSchemas.Name + '].[' + DbObjects.Name + '];' AS Cmd FROM sys.Objects DbObjects INNER JOIN sys.Schemas SysSchemas ON DbObjects.schema_id = SysSchemas.schema_id WHERE SysSchemas.Name = @OldSchema AND (DbObjects.Type IN ('U', 'P', 'V','TF')) OPEN tableCursor FETCH NEXT FROM tableCursor INTO @SQL WHILE @@FETCH_STATUS = 0 BEGIN PRINT @SQL EXEC (@SQL) FETCH NEXT FROM tableCursor INTO @SQL END CLOSE tableCursor DEALLOCATE tableCursor PRINT ' Finished '

About

Det här är min digitala anteckningsbok för allt som har med databaser, automatisering och teknik att göra.
Här samlar jag alla de där skripten, lösningarna och knepen jag byggt på mig under åren – främst inom SQL Server och PowerShell.
Istället för att de ska ligga och damma i en glömd mapp delar jag med mig av dem här, så att både jag själv (när minnet sviker) och du förhoppningsvis kan spara några timmars klickande.