生活随笔
收集整理的這篇文章主要介紹了
修改MS SQL2000数据库的所有者,很实用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
修改MS SQL2000數據庫的所有者,很實用 2008-10-08 09:04
| 有些時候,一個數據庫的管理員,需要將幾個不同的數據庫內的數據合并到一起,如果幾個數據庫的結構基本相同,只需新建一個數據庫,將其它幾個數據庫內的對象復制并追加到新數據庫內并做細微調整即可達到目的,但是,不同的數據庫可能存在不同的用戶賬號,數據庫對象——譬如:表,存儲過程及視圖等——的所有者也可能不同,這樣,在倒入數據時,系統會將同名但不同所有者的數據庫對象識別為不同的對象,會在目標庫中新建對象而非追加,并且會因為目標庫中沒有相應的用戶賬號而報用戶不存在的錯,那么,統一數據庫對象的所有者就狠必要了。
還是老習慣,下面給出更改數據庫表,存儲過程及視圖所有者的SQL腳本,需要說明的是,這段腳本同樣可以用于將數據庫對象的所有者由DBO用戶更改為其它指定的用戶,使用的方法為:將YourUserName更改為DBO,在原有DBO的位置輸入想要指定的用戶賬號名稱,執行即可,當然,這段腳本代碼在使用的時候是狠靈活的,并非只針對關于DBO與其它指定賬號之間的更改,實踐一下就自然明白了
1. 修改表的所有者
declare @tn varchar(120)
declare table_cursor cursor for Select '[' + sysusers.name + '].' + sysobjects.name AS table_name FROM sysobjects INNER JOIN sysusers ON sysobjects.uid = sysusers.uid Where sysusers.name = 'YourUserName' AND sysobjects.type = 'U'
open table_cursor fetch next from table_cursor into @tn
while @@FETCH_STATUS = 0 begin ?? exec sp_changeobjectowner @tn, 'dbo'
?? fetch next from table_cursor into @tn end
close table_cursor deallocate table_cursor
2. 修改存儲過程的所有者
declare @tn varchar(120)
declare procedure_cursor cursor for Select '[' + sysusers.name + '].' + sysobjects.name AS procedure_name FROM sysobjects INNER JOIN sysusers ON sysobjects.uid = sysusers.uid Where sysusers.name = 'YourUserName' AND sysobjects.type = 'P'
open procedure_cursor fetch next from procedure_cursor into @tn
while @@FETCH_STATUS = 0 begin ?? exec sp_changeobjectowner @tn, 'dbo'
?? fetch next from procedure_cursor into @tn end
close procedure_cursor deallocate procedure_cursor
3. 修改視圖的所有者
declare @tn varchar(120)
declare view_cursor cursor for Select '[' + sysusers.name + '].' + sysobjects.name AS view_name FROM sysobjects INNER JOIN sysusers ON sysobjects.uid = sysusers.uid Where sysusers.name = 'YourUserName' AND sysobjects.type = 'V'
open view_cursor fetch next from view_cursor into @tn
while @@FETCH_STATUS = 0 begin ?? exec sp_changeobjectowner @tn, 'dbo'
?? fetch next from view_cursor into @tn end
close view_cursor deallocate view_cursor PS,太有用了,收藏。 |
?
?
FROM:
http://hi.baidu.com/slavewh/blog/item/8fdc4b164cf57e57f3de32ba.html
轉載于:https://blog.51cto.com/shenyubox/424597
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的修改MS SQL2000数据库的所有者,很实用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。