修改SQL數據庫dbo所有者


2012-01-07 09:03        by        天天,        0        visits,        收藏,        編輯

批量修改: 程序代碼EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '

單個修改: 程序代碼exec sp_changeobjectowner '要改的表名','dbo'

手動修改: 直接點擊該表->設計->屬性->更改上面的所有者。該方法針對於表少的情況下。

--如果一個數據庫中(表和存儲過程)有多個用戶名,而要把它所有都改成dbo 就可以用如下的語句 Select 'sp_changeobjectowner ''' + User_Name(Uid) + '.' + name + ''',''dbo'' ' From sysobjects Where Uid Not in (User_ID('dbo')) And Type In ('U','P') --然后把查詢出來的語句拷貝出來,直接運行就表和存儲過程的對象都會改過來,但SQL SERVER要先退出來,再進去,才能看到更改后的結果

 

更改SQL Server表所有者的操作方法

筆者用過兩種方法:

1) 通過修改當前數據庫的對象表:sysobjects。

sysobjects存儲的是當前數據庫中的表的基本信息,其中由一個字段:uid,記錄的是表所有者的id號。如:uid為‘1’,一般表示所有者為dbo(一般是sa)。可以為表所有者更改為你所希望的表所有者的id。

需要注意的是,直接在sysobjects表中對數據進行的更新操作需要有權限允許。不然會更新不成功

2) 另外一種方式是通過sql腳本來完成的。

例如:exec sp_changeobjectowner 'cqadmin.authors', 111 將表'cqadmin.authors'的所有者改為111.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM