SQL SERVER 사용자 역할 멤버 자격 종류

 

db_accessadmin = 엔진에 접속할 윈도우 인증과 SQL Server 로그인을 수정할 권한.
db_backupoperator = 데이터베이스 백업 권한.
db_datareader = 테이블의 모든 데이터를 볼 수 있는 권한.
db_datawriter = 테이블에 데이터 수정 권한.
db_ddladmin = 데이터베이스의 모든 DDL 관련 명령을 실행할 권한.
db_denydatareader = 데이터베이스에 있는 모든 테이블의 데이터를 볼 수 있는 권한.
db_denydatawriter = 데이터베이스에 있는 모든 테이블의 데이터를 수정할 권한.
db_owner = 데이터베이스의 모든 설정과 관리 작업을 수행할 수 있는 권한.
db_secutiryadmin = 멤버 권한을 제한할 수 있는 권한.
public = 디폴트로 부여되는 최소한의 권한.

 

Grant 데이터베이스 사용 권한

예제

A. 테이블을 만들기 위한 사용 권한 부여

다음 예에서는 사용자 MelanieK에게 AdventureWorks 데이터베이스에 대한 CREATE TABLE 권한을 부여합니다.

SQL복사

 

USE AdventureWorks;

GRANT CREATE TABLE TO MelanieK; GO

 

B. 애플리케이션 역할에 SHOWPLAN 사용 권한 부여

다음 예에서는 SHOWPLAN 애플리케이션 역할에 AdventureWorks2012 데이터베이스에 대한 AuditMonitor 권한을 부여합니다. 

 

USE AdventureWorks2012;

GRANT SHOWPLAN TO AuditMonitor;

GO

 

C. GRANT OPTION을 지정하여 CREATE VIEW 부여

다음 예에서는 다른 보안 주체에게 CREATE VIEW를 부여할 수 있는 권한이 있는 사용자 AdventureWorks2012에게 CarmineEs 데이터베이스에 대한 CREATE VIEW 권한을 부여합니다. 

USE AdventureWorks2012;

GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;

GO

 

D. 데이터베이스 사용자에게 CONTROL 권한 부여

다음 예에서는 데이터베이스 사용자 Sarah에게 AdventureWorks2012 데이터베이스의 CONTROL 권한을 부여합니다. 사용자가 데이터베이스에 존재해야 하며 컨텍스트가 데이터베이스로 설정되어야 합니다. 

USE AdventureWorks2012;

GRANT CONTROL ON DATABASE::AdventureWorks2012 TO Sarah;

GO

 

[Grant]

docs.microsoft.com/ko-kr/sql/t-sql/statements/grant-database-permissions-transact-sql?view=sql-server-2017

'MSSQL 기본' 카테고리의 다른 글

[MSSQL] 트랜잭션이란?  (0) 2020.10.27
[MSSQL] 인덱스란? / 인덱스 생성 기준  (0) 2020.10.27
[MSSQL] 각 정규화의 차이점  (0) 2020.10.21
[MSSQL] 데이터베이스 정규화  (0) 2020.10.20
[MSSQL] RDBMS란?  (0) 2020.10.20

# DBMS의 종류


-계층형 데이터베이스
-네트워크형 데이터베이스
-관계형 데이터베이스(RDBMS) => 가장 많이 쓰임(=테이블형 데이터베이스)
-객체지향 데이터베이스
-객체관계형 데이터베이스(ORDBMS)
-NoSQL(Not Only SQL)

# RDBMS?

 

 - RDBMS : Relational Database Management System
 -관계형(Relational) 데이터베이스 시스템
 -테이블(Table based)기반의 DBMS
     1) 테이블-컬럼형태의 데이터 저장 방식
     2) 테이블과 테이블 간의 연관관계(주로 외래키형태)를 이용해 필요한 정보를 구하는 방식
 -모델링은 E-R(Entity Relationship)모델을 사용
 -테이블을 Entity(기본)와 Relationship(유도) 테이블로 구분하는 방식
 -테이블을 테이블(Table)단위로 관리
    =>하나의 테이블은 여러 개의 컬럼으로 구성됨
 -테이블끼리 중복정보는 최소화시킴
    => 동일한 데이터가 여러군데 중복되어 존재하면 데이터의 수정시 문제 발생 확률 높아짐
    => 정규화(Normalize)-> 정규형
 -사용방식
    => 여러 테이블을 합쳐 큰 테이블을 생성(조인 JOIN)해서 필요한 정보를 찾아내는 방식

 

# NoSQL?

 

단어 뜻 그 자체를 따지자면 "Not only SQL"로, SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)을 지칭하는 단어이다. 관계형 데이터베이스를 사용하지 않는다는 의미가 아닌, 여러 유형의 데이터베이스를 사용하는 것이다.

데이터를 조직하는 방법에는 리스트, 해시 테이블, 트리, 그래프 등의 다양한 방법이 있고 각각은 장점과 단점이 명확하기 때문에 단순히 NoSQL이라고만 해서는 너무 뜬구름 잡는 얘기가 된다. NoSQL이라는 단어는 RDBMS가 데이터베이스의 독점적인 지위를 차지하고 있는 현재 상황에 반발하는 정신을 담고 있다.

 

“Not Only SQL” : 데이터를 저장하는 데에는 SQL 외에 다른 방법들도 있다.

NoSQL이라고 하는 말은 No 'English'라고 하는 말과 마찬가지다. 세상에는 영어 말고도 수많은 언어가 존재한다. MongoDB에서 사용하는 쿼리 언어와 CouchDB에서 사용하는 쿼리 언어는 서로 전혀 다르다. 그럼에도 이 두 쿼리 언어는 같은 NoSQL 카테고리에 속한다. 어쨌거나 SQL이 아니기 때문이다. 또한 NoSQL이 No RDBMS를 의미하지는 않는다. BerkleyDB같은 예외가 있기 때문이다. 그리고 No RDBMS가 NoSQL인 것도 아니다. SQL호환 레이어를 제공하는 KV-store라는 예외가 역시 존재한다. 물론 KV-store의 특징상 range query를 where절에 넣을 수 없으므로 완전한 SQL은 못 되고 SQL의 부분집합 정도를 제공한다.

 

[출처 NoSQL 나무위키]

+ Recent posts