모든 테이블의 소유자를 dbo 로 바꾸어 주는 프로시져 > db

본문 바로가기
사이트 내 전체검색

db

모든 테이블의 소유자를 dbo 로 바꾸어 주는 프로시져

페이지 정보

작성자 서방님 댓글 0건 조회 157회 작성일 06-11-02 10:34

본문

USE MASTER
GO

IF OBJECT_ID ('SP_CHANGEOBJECTOWNER_MS ') IS NOT NULL
 DROP PROC SP_CHANGEOBJECTOWNER_MS
GO

CREATE PROC SP_CHANGEOBJECTOWNER_MS
(
@OBJECTOWNER VARCHAR(100)
)
AS

-- SP_CHANGEOBJECTOWNER_MS 'KIMMS'
-- 모든 테이블의 소유자를 DBO 로 변경시켜 주는 프로시져입니다.
-- 만든이 석이
-- 20060506

SET NOCOUNT ON

DECLARE @UID VARCHAR(10)
DECLARE @RETURN_VALUE INT
DECLARE @COMMAND1 NVARCHAR(2000)
DECLARE @WHEREAND NVARCHAR(2000)
DECLARE @OCNT INT

SELECT @OCNT = COUNT(*) ,@UID = MAX(O.UID)
FROM
 SYSUSERS U
 INNER JOIN SYSOBJECTS O
 ON U.UID = O.UID
WHERE
 U.NAME = @OBJECTOWNER
 AND OBJECTPROPERTY(O.ID, N'ISUSERTABLE') = 1

IF (@OCNT IS NOT NULL AND  @OCNT > 0) BEGIN
 SET @COMMAND1 = 'EXEC SP_CHANGEOBJECTOWNER ''?'', ''DBO'''
 SET @WHEREAND ='AND O.UID=' + @UID
 EXEC @RETURN_VALUE = SP_MSFOREACHTABLE @COMMAND1=@COMMAND1, @WHEREAND =
@WHEREAND
 SELECT CASE @RETURN_VALUE WHEN 0 THEN UPPER(@OBJECTOWNER)+' ----> DBO 작업완료'
END
END ELSE BEGIN
 SELECT  UPPER(@OBJECTOWNER)+' ----> DBO 작업할 테이블이 없습니다.'
END

GO

use 해당디비
go
-- 아래 실행예제는 kimms 소유의 모든 테이블을 dbo 로 바꾸어 줍니다.
SP_CHANGEOBJECTOWNER_MS 'KIMMS'

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
30
어제
302
최대
1,347
전체
155,091
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.