crossdb ownership 타 db 에 있는 테이블 select error 시
카테고리 없음 / 2011. 3. 4. 14:57
(0개 행이 영향을 받음)
메시지 916, 수준 14, 상태 1, 프로시저 usp_a, 줄 5
현재 보안 컨텍스트로는 서버 보안 주체 "minsouk-PC\minsouk"이(가) 데이터베이스 "DB2"에 액세스할 수 없습니다.
위와 같은 오류가 난다면 다음 옵션을 설정하세요!
CREATE DATABASE DB1
GO
CREATE DATABASE DB2
GO
CREATE LOGIN [USER_EXEC] WITH PASSWORD=N'1234', DEFAULT_DATABASE=[MASTER]
GO
ALTER LOGIN [USER_EXEC] ENABLE
GO
USE [DB1]
GO
CREATE USER [USER_EXEC] FOR LOGIN [USER_EXEC]
GO
USE DB1
GO
CREATE TABLE TBLX
(IDX INT)
GO
CREATE PROC USP_A
WITH EXECUTE AS OWNER
AS
SELECT * FROM DB1.DBO.TBLX
SELECT * FROM DB2.DBO.TBLX
GO
USE DB2
GO
CREATE TABLE TBLX
(IDX INT)
GO
USE DB1
GO
GRANT EXECUTE ON USP_A TO USER_EXEC
GO
ALTER DATABASE DB1 SET TRUSTWORTHY ON
--ALTER DATABASE DB1 SET TRUSTWORTHY off
GO