Vor Kurzen habe ich ein SQL Skript gesucht, mit dem man auf einen Rutsch den Besitzer aller Tabellen einer Datenbank ändern kann. Ein Guter Einstieg war dieser Artikel. Zusätzlich floss noch das Skript ein, dass ich hier, welches aber nur für Funktionen funktioniert hat. Das ist dabei herausgekommen:
declare @OldOwner varchar(100)
declare @NewOwner varchar(100)
set @OldOwner = ‘oldownername’
set @NewOwner = ‘newownername’
DECLARE @Name AS sysname
DECLARE [Objects] CURSOR FOR
SELECT ‘[' + table_schema + '].[' + table_name + ']‘ FROM information_schema.tables
WHERE Table_schema = @OldOwner
OPEN [Objects]
FETCH NEXT FROM [Objects] INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Name
EXECUTE sp_ChangeObjectOwner @Name, @NewOwner
FETCH NEXT FROM [Objects] INTO @Name
END
CLOSE [Objects]
DEALLOCATE [Objects]
About me