亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

將Sql Server對象的當前擁有者更改成目標擁有者

2024-08-31 01:00:18
字體:
來源:轉載
供稿:網友
數據庫操作當中,當數據庫對象列表不只有一個普通的元素——objectname時,你將要使用objectowner.objectname來引用對象,但如果需要更改當前數據庫中對象的所有者可以使用系統存儲過程 sp_changeobjectowner (點擊這里更詳細)

sp_changeobjectowner
更改當前數據庫中對象的所有者。
語法: sp_changeobjectowner  [ @objname = ] 'object' , [, @newowner = ] 'owner'. 參數. [@objname =] 'object'.  

    但往往由于數據庫對象過多,希望批處理更改當前數據庫中對象的所有者,那么你可以嘗試使用Net Fetch的 nf_ChangeObjectOwner 存儲過程來完成批處理。具體用法如下:

首先使用以下代碼創建存儲過程—— 

nf_ChangeObjectOwner 
將Sql Server對象的當前擁有者更改成目標擁有者
語法:nf_ChangeObjectOwner [, @current_Owner = ] 'owner',[,@target_Owner =] 'owner',[ ,@modify_Type=] type

復制代碼 代碼如下:


if exists (select * from sysobjects where id = object_id(N'[nf_ChangeObjectOwner]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure nf_ChangeObjectOwner
GO

Create PROCEDURE nf_ChangeObjectOwner 
    @current_Owner nvarchar(255),    
    @target_Owner nvarchar(255),
    @modify_Type int
/***********************************************************************************************

nf_ChangeObjectOwner

實現功能:    將Sql Server對象的當前擁有者更改成目標擁有者
**** 使用本代碼前請備份數據庫!
**** 所帶來的安全問題,與俺家的驢子無關!
**** 歡迎斧頭劈我,劈死偶有獎!
調用方法:    Exec nf_ChangeObjectOwner @current_Owner,@target_Owner,@modify_Type

輸入參數:    @current_Owner nvarchar(255)    --對象的當前擁有者
        @target_Owner nvarchar(255)    --對象的目標擁有者
        @modify_Type int        --0為默認,更改表的擁有者;1為視圖和存儲過程
輸出參數:    RETURN值        = -1        --操作對象為0,操作對象不存在
                = -2        --操作失敗,可能對象被鎖定
                = 0(默認值)    --操作成功,打印更改對象數目@object_Num
        @object_Num            --SQL 打印值,返回更改成功的對象數目

                            @Write by Net Fetch.    @At 2005/09/12
                            @Email: cnNetFetch*Gmail.Com    blog.ad0.cn

************************************************************************************************/
AS
    DECLARE @str_Tbl_Name nvarchar(255),@object_Num int,@current_Owner_uid smallint
    Set @object_Num = 0
    DECLARE @return_status int
    Set @return_status = -1
    Set @current_Owner_uid = (Select uid From sysusers Where [Name] = @current_Owner)
    If Not (Len(@current_Owner_uid)>0)  
        RETURN -1
        If (@modify_Type = 1)
            DECLARE ChangeObjectOwner_Cursor CURSOR FOR Select [Name] From sysobjects Where (type='U' or type='V' or type='P') and userstat=0 and [Name]<>'nf_ChangeObjectOwner' and status>-1 and uid = @current_Owner_uid
        Else
            DECLARE ChangeObjectOwner_Cursor CURSOR FOR Select [Name] From sysobjects Where (type='U' or type='V' or type='P') and userstat<>0 and [Name]<>'dtproperties' and uid = @current_Owner_uid
        OPEN ChangeObjectOwner_Cursor
    BEGIN TRANSACTION Change_ObjectOwner        
        FETCH NEXT FROM ChangeObjectOwner_Cursor INTO @str_Tbl_Name
        WHILE (@@FETCH_STATUS = 0)
            BEGIN    
                Set @str_Tbl_Name = @current_Owner + '.' + @str_Tbl_Name
                Print @str_Tbl_Name
                EXEC @return_status = sp_changeobjectowner @str_Tbl_Name, @target_Owner
                IF (@return_status <> 0)
                    BEGIN 
                        ROLLBACK TRANSACTION Change_ObjectOwner
                        RETURN -2
                    END
                Set @object_Num = @object_Num + 1
                FETCH NEXT FROM ChangeObjectOwner_Cursor INTO @str_Tbl_Name
            END
        Print @object_Num
    COMMIT TRANSACTION Change_ObjectOwner
    CLOSE ChangeObjectOwner_Cursor
    DEALLOCATE ChangeObjectOwner_Cursor

Go


Usage(使用方法): Exec nf_ChangeObjectOwner 'dbo','你的用戶名',0
   ——將所有用戶表的擁有者更改成'你的用戶名'
Usage(使用方法): Exec nf_ChangeObjectOwner 'dbo','你的用戶名',1
   ——將除了用戶表之外數據庫對象(視圖、存儲過程)的擁有者更改成'你的用戶名'
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美色播在线播放| 亚洲伊人一本大道中文字幕| 亚洲午夜精品久久久久久久久久久久| 国产亚洲激情视频在线| 韩国精品久久久999| 欧美日韩亚洲精品一区二区三区| 欧美日韩国产成人在线| 日韩av在线网址| 91日本在线视频| 亚洲国产私拍精品国模在线观看| 国产精品毛片a∨一区二区三区|国| 国产精品扒开腿做爽爽爽男男| 久久久99久久精品女同性| 91精品久久久久久久久久| 久久久久久噜噜噜久久久精品| 久久久久久亚洲精品中文字幕| 久久久久久12| 欧美在线一区二区视频| 亚洲黄色av女优在线观看| 久久久久99精品久久久久| 精品日韩中文字幕| 国产精品久久久久久久久久新婚| 亚洲欧美制服另类日韩| 亚洲丝袜一区在线| 亚洲欧美一区二区精品久久久| 国产精品久久久久aaaa九色| 国产情人节一区| 国产精品久久久久久久久粉嫩av| 日韩美女在线看| 久久久久久久久久国产精品| 国模精品系列视频| 精品国产美女在线| 91精品在线看| 欧美日韩中文字幕综合视频| 91爱爱小视频k| 91九色国产社区在线观看| 日韩视频免费在线| 国产精品亚洲自拍| 欧美日韩中文字幕| 超碰日本道色综合久久综合| 欧美在线激情网| 成人h片在线播放免费网站| 欧美电影免费观看电视剧大全| 免费不卡欧美自拍视频| 国产精品视频自拍| 国产美女久久精品| 欧美成人在线免费视频| 最近2019免费中文字幕视频三| 欧美色视频日本高清在线观看| 欧美精品久久久久a| 日韩欧美中文字幕在线播放| 国产精品青青在线观看爽香蕉| 久久夜精品va视频免费观看| 91av视频在线| 久久精品国产亚洲| 国产日韩一区在线| 久久久最新网址| 中文字幕在线成人| 中文在线不卡视频| 欧美成人免费观看| 欧美性猛交xxxx黑人猛交| 自拍偷拍亚洲一区| 日韩精品有码在线观看| 一本一本久久a久久精品牛牛影视| 国产91色在线|免| 成人黄色午夜影院| 成人国产精品日本在线| 欧美高清视频一区二区| 久久999免费视频| 亚洲欧美变态国产另类| 欧美大尺度在线观看| 91夜夜未满十八勿入爽爽影院| 欧美精品在线免费| 5566日本婷婷色中文字幕97| 欧美大成色www永久网站婷| 亚洲国产一区二区三区在线观看| 91久久精品国产91性色| 中国日韩欧美久久久久久久久| 亚洲国产精品一区二区久| 久久999免费视频| 久久久久久久国产精品视频| 国产成人午夜视频网址| 欧美夫妻性生活xx| 欧美日韩国产精品一区二区三区四区| 欧美日韩一区二区在线| 丝袜亚洲另类欧美重口| 国产精品日本精品| 欧美性猛交xxxx乱大交极品| 久久久午夜视频| 欧美高跟鞋交xxxxxhd| 欧美成人精品在线播放| 欧美丝袜一区二区三区| 91影院在线免费观看视频| 欧美激情一区二区三区在线视频观看| 欧美老女人性视频| 这里只有精品在线观看| 92版电视剧仙鹤神针在线观看| 欧美一级大片视频| 最近2019好看的中文字幕免费| 亚洲图片欧洲图片av| 欧洲精品久久久| 欧美视频在线观看 亚洲欧| wwwwwwww亚洲| 久久综合九色九九| 国产精品a久久久久久| 日韩av观看网址| 国产精品久久99久久| 欧美高清一级大片| 久久免费视频在线观看| 91久久精品国产| 国产精品成人aaaaa网站| 国模精品一区二区三区色天香| 国产男人精品视频| 国产精品久久久av久久久| 国语自产精品视频在线看抢先版图片| 91精品国产高清| 久久精品视频va| 国产欧美日韩高清| 欧美日韩国产色| 欧美成人免费va影院高清| 欧美激情亚洲一区| 国产成人在线亚洲欧美| 亚洲视频一区二区三区| 裸体女人亚洲精品一区| 欧美综合第一页| 成人做爰www免费看视频网站| 久久激情五月丁香伊人| 国产一区二区三区三区在线观看| 日韩一区二区av| 日韩精品在线免费观看视频| 久久久久久美女| 性色av一区二区三区在线观看| 国产女人18毛片水18精品| 欧美小视频在线| 日韩高清av一区二区三区| 日本在线观看天堂男亚洲| 欧美成人性色生活仑片| 91在线观看欧美日韩| 亚洲区免费影片| 亚洲人成电影网站色| 久久久精品电影| 亚洲女人天堂成人av在线| 久久久久久久电影一区| 欧美日韩999| 欧美午夜无遮挡| 亚洲色图狂野欧美| 亚洲精品成人网| 欧美极品美女视频网站在线观看免费| 亚洲高清久久久久久| 亚洲精品天天看| 亚洲专区中文字幕| 精品亚洲夜色av98在线观看| 黄网站色欧美视频| 国产综合久久久久| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品视频播放| 亚洲片国产一区一级在线观看| 日韩欧美中文字幕在线播放| 国产不卡av在线免费观看| 日韩精品在线第一页| 91av福利视频| 久久久av电影| 国产日韩欧美在线| 国产日韩在线一区|