DECLARE @OldOwner sysname,@NewOwner sysname
SET @OldOwner = 'Old_Owner_Name'
SET @NewOwner = 'New_Owner_Name'
DECLARE CURS CURSOR FOR
SELECT name FROM sysobjects WHERE type = 'p'
AND uid = (SELECT uid FROM sysusers WHERE name = @OldOwner)
AND NOT name LIKE 'dt%' FOR READ ONLY
DECLARE @ProcName sysname
OPEN CURS
FETCH CURS INTO @ProcName
WHILE @@FETCH_STATUS = 0
BEGIN
IF @@VERSION >= 'Microsoft SQL Server 2005'
BEGIN
EXEC('alter schema ' + @NewOwner + ' transfer ' + @OldOwner + '.' + @ProcName) exec('alter authorization on ' + @NewOwner + '.' + @ProcName + ' to schema owner') END ELSE EXEC('sp_changeobjectowner ''' + @OldOwner + '.' + @ProcName + ''', ''' + @NewOwner + '''') FETCH CURS INTO @ProcName END CLOSE CURS DEALLOCATE CURS
Monday, October 6, 2008
Change the owner of all Stored Proc in a database
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment