database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6357 게시물 읽기
No. 6357
소유자 dbo와 db_owner 차이점에 대해 문의합니다
작성자
초보자
작성일
2012-04-04 14:56
조회수
8,737

안녕하세요. 저는 MSSQL를 이제 공부하고 있는 개발자입니다.

회사에서 오라클로 되어 있는 웹프로그램의 DB를 MSSQL Sever 2008로 변경하고 있습니다.

테이블 생성 스크립트를 만들다가 궁금한 내용이 있어 문의 좀 드릴려고 합니다.

아래는 제가 테스트한 테이블 생성 스크립트입니다.

CREATE TABLE TB_TEST(
 TEST_ID INT IDENTITY(1,1) NOT NULL,
 TEST_NM VARCHAR(50) NULL
) ON [PRIMARY];

Microsoft MSSQL Sever Management Studio에서 sa 계정으로 로그인하여 데이터베이스와 사용자(test-user)를 하나 만들었습니다.

http://blog.daum.net/ipis/125 이 블로그의 내용을 참조해서 만들었습니다. (블로그 URL을 여기 적는게 무단 사용에 걸리는건 아니죠 ?)

1. sa계정으로 MSSMS에 로그인하여 위의 스크립트를 실행하고, 왼쪽 창에서 테이블 명을 확인하니 dbo.TB_TEST라고 생성되었습니다.

2. 만든 사용자(test-user)로 MSSMS에 로그인하여 테이블 스크립트을 실행하고, 왼쪽 창에서 테이블 명을 확인하니 db_owner.TB_TEST라고 생성되었습니다.

테이블명 앞에 붙은 것이 소유자 라고 하던데 두개가 다르게 표현되는데, 어떤 소유자를 써야 하나요?

(어떤 계정으로 MSSMS에 로그인하여 작업해야 합니까?)

웹 프로그램에서는 sa를 사용하지 않고 만든 사용자(test-user)로 사용하여 접속합니다.

이 경우 웹 프로그램에서 작성한 sql문의 모든 테이블에는 db_owner.TB_TEST라고 소유자를 명시해야 하나요?

그리고 함수 생성도 마찬가지 인가요?

구글링과 지식인을 찾아봤는데, 명확하게 이해를 하지 못해 문의드립니다. 고수님들의 답변을 부탁드립니다.

 

 

 

 

이 글에 대한 댓글이 총 1건 있습니다.

 SQL 2000까지는 소유자였는데 그 이후로는 스키마라고 합니다.

 

대규모인 경우에는 하나의 DB안에 여러 스키마를 만들어서 테이블 등을 그룹화하여 사용합니다.

 

그렇지 않은 경우 그냥 dbo로 스키마를 하시면 되겠습니다. (나름 편리합니다. 스키마를 지정하지 않아도 되는...) 

 

명시적으로 dbo스키마를 지정하기 위해서는 CREATE TABLE.테이블이름 ( ... ) ; 처럼 생성하시면 되겠습니다.

 

스키마에 매핑되지 않은 사용자가 테이블을 사용해야 하는 경우에는 dbo가 아닌 스키마를 사용해야 하는 경우 스키마를 적어야합니다.(그래서 dbo로 스키마를 지정하는 것이 편합니다.)

 

테이블, 함수, 프로시저를 사용할때 스키마이름을 붙여서 사용하면 (비록 dbo라 할지라도) 성능이 향상된다는 보고가 있었습니다.(근거 링크는 까먹어서뤼..)

따라서 스키마를 적어서 지정하여 테이블 접근, 프로시저 실행 등을 수행하시는 것을 추천드립니다.

 

우욱님이 2012-04-07 17:55에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6360아래 추가 질문입니다. varchar(max) 관련 [1]
초보
2012-04-09
8051
6359필드의 크기 [1]
궁금이
2012-04-06
6096
6358데이터타입 변경 (varchar -> text) 에 대해서 [1]
js
2012-04-06
6735
6357소유자 dbo와 db_owner 차이점에 대해 문의합니다 [1]
초보자
2012-04-04
8737
6356or 연산을 지원하는 집계함수가 필요합니다. [3]
조중규
2012-04-04
6890
6355쿼리문을 짜야되는데요 좋은 방법있는지 부탁드려요 [3]
난해해
2012-04-03
7319
6354sql2008에서 이미지 화일 db에 저장하는 방법 sql문부탁
김길동
2012-04-01
6513
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다