מאגרי מידע

כיצד ניתן לשנות Owner בחזרה ל dbo לטבלאות ב SQL SERVER 2000?


על מנת לשנות owner לאובייקט table,stored procedure,view etc) יש לפתוח query analyzer ולהריץ את ה stored procedure הבא:

 

EXEC sp_changeobjectowner 'OldOwner.ObjectName''dbo'

 

 

יש להחליף את המחרוזת OldOwner בשם של ה owner הקודם.

 

 

אם ברצונכם להחליף את ה owner של כל האוביקטים בפעולה אחת יש להריץ את הקוד הבא ב query analyzer:

 

declare @ObjectName varchar(256)
 
-- we are only interested in USER Objects
 -- not already owned by 'sa'
 -- we don't want keys and constrainst
 
set @ObjectName (
   
select top [namefrom sysobjects
   
where uid <> SUSER_SID('sa')
   
and [type] in ('FN','IF','P','TF','U','V')
   )
 
declare @ObjectOwner varchar(256)
 
declare @ObjectFullName varchar(512)
 
declare @NewOwner varchar(256)
   
set @NewOwner 'dbo'
  
   
-- default to 'dbo' if null
   
set @NewOwner = isnull(@NewOwner, 'dbo')
  
 
while @ObjectName is not null
 begin
   select 
@ObjectOwner = USER_NAME(uid) 
     
from sysobjects where [name@ObjectName
   
set @ObjectFullName @ObjectOwner + '.' + @Objectname
   
PRINT 'Changing ownership of ''' + @Objectname + 
     
''' from ''' + @ObjectOwner + ''' to ''' 
     @NewOwner + 
''''
   
execute sp_changeobjectowner @ObjectFullName, @NewOwner
   
set @ObjectName (select top [namefrom sysobjects
     
where uid <> SUSER_SID('sa'
     
and [type] in ('FN','IF','P','TF','U','V'))
 
end 

הערה:

השימוש בקוד זה הוא באחריות המשתמש בלבד.

 

 

 

 



נכתב ע"י: LiveDNS Ltd - אחסון אתרים  אחסון אתרים | תאריך: 14/04/2007
צפיות: 3424

חזרה לדף קודם