av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Mssql批量修改權限

瀏覽:39日期:2023-11-01 11:44:45

今天恢復一個在別人機器備份的數(shù)據(jù)庫到SQL SERVER,恢復后該數(shù)據(jù)庫中有一個mooip用戶,該用戶是數(shù)據(jù)庫所有者,很多表的所有者也是他,但安全性里的登錄中沒有該用戶,刪除不了該用戶,提示“因為選定的用戶擁有對象,所以無法除去該用戶”! 具體解決方式如下: 1 如果是一張表有此問題,解決方式如下: exec sp_changeobjectowner 'mooip.tablename', 'dbo' 這樣就把tablename指定的表的所有者賦值給了dbo用戶

2 如果所有表都存在此問題,這是就要編寫存儲過程實現(xiàn)批量修改了 IF OBJECT_ID('ChangeAll') IS NOT NULL Drop PROC ChangeAll GO

Create PROCEDURE ChangeAll ( @old sysname, @new sysname ) AS DECLARE @objname sysname

SET NOCOUNT ON

IF USER_ID(@old) IS NULL BEGIN RAISERROR ('The @old passed does not exist in the database', 16, 1) RETURN END IF USER_ID(@new) IS NULL BEGIN RAISERROR ('The @new passed does not exist in the database', 16, 1) RETURN END

DECLARE owner_cursor CURSOR FOR

Select name FROM sysobjects Where uid = USER_ID(@old) OPEN owner_cursor FETCH NEXT FROM owner_cursor INTO @objname WHILE (@@fetch_status <> -1) BEGIN SET @objname = @old + '.' + @objname EXEC sp_changeobjectowner @objname, @new FETCH NEXT FROM owner_cursor INTO @objname END

CLOSE owner_cursor DEALLOCATE owner_cursorz GO

EXEC ChangeAll @old = 'mooip', @new = 'dbo'

這樣就完成了批量修改權限的工作

主站蜘蛛池模板: 免费在线观看av | 亚洲深夜福利 | 日韩一区二区中文字幕 | 国产精品区二区三区日本 | 婷婷中文字幕 | 在线观看国产免费视频 | 少妇免费视频 | a天堂视频 | 中文字幕+乱码+中文乱码91 | 欧美精品999 | 日本国产在线观看 | 国产精品久久久久久久 | 黄色大毛片 | 亚洲第一在线 | 日韩欧美视频 | 午夜成人影片 | 天天看天天操 | 91丨九色丨蝌蚪丨丝袜 | 亚洲欧美一区二区三区在线 | 亚洲v视频 | 久久99精品国产麻豆91樱花 | 亚洲黄色天堂 | 成人永久免费视频 | 99在线免费视频 | 黄色小视频免费 | 国产视频一二三 | 亚洲免费大片 | 97精品在线视频 | 亚洲国产一区二区三区 | 国产精品美女在线观看 | 91麻豆精品视频 | 欧美一区二区三 | 色香蕉网| 中文一级片 | 亚洲在线播放 | 最新免费黄色网址 | 91精品国产色综合久久不卡98 | 日韩精品久久久久久 | 手机在线免费看av | 波多野结衣在线观看一区二区 | 免费观看一区二区三区 |