블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글


CREATE LOGIN USER1 WITH PASSWORD=N'1234', DEFAULT_DATABASE=[MASTER]
GO

ALTER LOGIN USER1 ENABLE
GO

USE [DB1]
GO

ALTER USER [USER1] WITH DEFAULT_SCHEMA=[USER1]
GO

EXEC SP_CHANGE_USERS_LOGIN 'UPDATE_ONE', 'USER1', 'USER1'
GO

Posted by 보미아빠
, |



(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


http://msdn.microsoft.com/en-us/library/ms187861.aspx

Posted by 보미아빠
, |

sql 8.0 은 meta data 를 고쳐야 하고
sql 9.0 이상은 설정이 가능하다.

http://technet.microsoft.com/ko-kr/library/ms189077.aspx


DROP DATABASE DB1
GO

DROP DATABASE DB2
GO

SELECT 'KILL '+CAST(SPID AS VARCHAR) FROM SYSPROCESSES WHERE SPID > 50 AND LOGINAME ='DB1USER'

DROP LOGIN DB1USER
GO

CREATE DATABASE DB1
GO
CREATE DATABASE DB2
GO

CREATE LOGIN [DB1USER] WITH PASSWORD=N'1234', DEFAULT_DATABASE=[MASTER]
GO

ALTER LOGIN DB1USER ENABLE
GO

DENY VIEW ANY DATABASE TO DB1USER
GO

USE DB1
GO

EXEC SP_CHANGEDBOWNER 'DB1USER'
GO

-- db1user 로 로그인해보면 자기 데이터베이스만 보임
-- 아래는 참고

--grant view any database to db1user
--deny view any database to db1user
--grant view any database to public
--revoke view any database from public




열이글~


use master
go

create database db_1
create database db_2
create database db_3

 

CREATE LOGIN db_2 WITH PASSWORD='1', DEFAULT_DATABASE=db_2

 

use db_2
go
ALTER AUTHORIZATION ON DATABASE::db_2 to db_2

 

use db_3
go
ALTER AUTHORIZATION ON DATABASE::db_3 to db_2

 

use master
go

deny view any database to db_2

 

-- REVOKE VIEW ANY DATABASE FROM public 방법보다 발전(?)함.

-- 하나 계정으로 여러개 원하는 DB 목록 보이게 가능
-- 단점 하나 DB에 여러 계정 설정 불가능. master, tempdb 가 목록에 나옴.

Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함