更改SQL Server表的所屬用戶2方案
作者:佚名 
  以下的文章主要描述的是正確更改SQL Server表的所屬用戶的2個(gè)實(shí)際操作方法,以及對(duì)其在實(shí)際操作中要用到的實(shí)際應(yīng)用代碼的描述。
 文章介紹的是正確更改SQL Server表的所屬用戶的2個(gè)實(shí)際操作方法,大家在實(shí)際操作中可能會(huì)經(jīng)常碰到一個(gè)備份還原到另外一臺(tái)機(jī)器結(jié)果導(dǎo)致所有的表都不能打開了,原因是建表的時(shí)候采用了當(dāng)時(shí)的數(shù)據(jù)庫(kù)用戶……
更改某個(gè)表
- exec sp_changeobjectowner 'tablename','dbo'
 
存儲(chǔ)更改全部SQL Server表
- CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
 - @OldOwner as NVARCHAR(128),
 - @NewOwner as NVARCHAR(128)
 - AS
 - DECLARE @Name as NVARCHAR(128)
 - DECLARE @Owner as NVARCHAR(128)
 - DECLARE @OwnerName as NVARCHAR(128)
 - DECLARE curObject CURSOR FOR
 - select 'Name' = name,
 - 'Owner' = user_name(uid)
 - from sysobjects
 - where user_name(uid)=@OldOwner
 - order by name
 - OPEN curObject
 - FETCH NEXT FROM curObject INTO @Name, @Owner
 - WHILE(@@FETCH_STATUS=0)
 - BEGIN
 - if @Owner=@OldOwner
 - begin
 - set @OwnerName = @OldOwner + '.' + rtrim(@Name)
 - exec sp_changeobjectowner @OwnerName, @NewOwner
 - end
 - -- select @name,@NewOwner,@OldOwner
 - FETCH NEXT FROM curObject INTO @Name, @Owner
 - END
 - close curObject
 - deallocate curObject
 - GO
 
以上的相關(guān)內(nèi)容就是對(duì)更改SQL Server表的所屬用戶的兩個(gè)方法的介紹,望你能有所收獲。
【編輯推薦】
責(zé)任編輯:佚名 
                    來源:
                    天極網(wǎng)
 














 
 
 
 
 
 
 