이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요. 이스트럭(강동운) 입니다.


이번 강좌에는.. 정보처리 산업기사에 아주 많이 출몰하는.. 개체 무결성에 대해 알아볼까 합니다.


물론 그 중심에는.. Primary Key(기본키) 그리고 유니크 제약조건이 있습니다.


개체 무결성의 정의: 기본키를 구성하는 속성은 널(NULL)값이나 중복값을 가질수 없음


Primary Key의 조건은 아래와 같습니다.

1. 유니크 해야함.

2. NULL을 허용할 수 없음.


개체 무결성과도 같죠?? ^^;;


그렇다면.. Primary Key의 대상은 어떤 녀석이 될까요??


회원 테이블을 살펴보면.. 아래 두가지 경우가 대상이 될 수 있습니다.


1. 순차적으로 증가하는 회원번호(INT 4 bytes)

2. 회원 아이디(VARCHAR 10~15 bytes)

3. 주민등록번호(CHAR 형 13 bytes)


하지만.. 순차적으로 증가하는 회원번호의 사이즈가 작기 때문에.. Primary Key에 적당합니다.

또한 주민 등록번호 혹은 아이디는.. 약관에 따라  탈퇴를 하는 경우에는 지워질 수 있기 때문에.. 대상에서 살짝 밀리게 됩니다.



이 처럼 Primary Key외에 아이디 혹은 주민등록번호 처럼 대체가 될 수 있는 키를.. 대체키라고 합니다.

물론 대체키로도 행을 구분할 수 있겠죠~!

영어로는 Alternate Key라고 합니다.


그럼 한번 SSMS를 통해서 Primary Key 를 생성해보도록 하겠습니다.


SSMS 접속 => Database => Test Databse => Member Tables 우클릭 => Desgin


0.png



디자인을 클릭하면 아래와 같은 화면이 나옵니다.


여기서 전에 만들었던 MemberIDX에 Primary Key를 걸어보도록 하겠습니다.


MemberIDX 에 마우스 우클릭 => Set Primary Key => 그리고 저장!


1.png



(혹시 위 설정에서 저장이 안되시는 분들은.. Tools => Option => Designers => Table and Database Designers => Prevent saving changes that require table re-creation 을 체크하시기 바랍니다.)


3.png


이 옵션은.. Design 에서 테이블을 수정시에 테이블이 다시 만들어질 수 있습니다. 이 부분을 사전에 방지하고자 기본 값으로 

체크가 되어있는데.. 체크를 뺴주시면 될 것 같습니다 ^^

주의: 데이터가 아주 많은 경우 테이블이 다시 만들어지면............ 끔찍하겠죠!

4.png






저희가 INSERT문을 배운건 아니지만.... 한번 NULL값이 들어가는지.. 중복된 값이 들어가는지 테스트를 해보도록 하겠습니다.


우선 10번으로 강감찬을 넣어보도록 하겠습니다.


INSERT INTO Member(MemberIDX, MemberID, MemberName, CreateDate)

VALUES(10,'kang','강감찬', '2011-05-05')

GO

select * from member

GO

2.png



이제 10번을 다시 한번 넣어보도록 하겠습니다.


에러죠! 아쉽게...... 이 에러는 한국어가 지원이 안되네요 ㅜ.ㅜ..

중복된 키 값을 넣을 수 없다는 에러 입니다.

5.png



이제 NULL 값을 넣어보도록 하겠습니다.

NULL 값 역시.. 허용하지 않았기 때문에.. 데이터가 입력되지 않습니다.

6.png



그럼 중복되지 않지만.. NULL을 넣을 순 없을까?? 바로 UNIQUE 제약조건이 있습니다.


MemberID에 유니크 제약조건을 걸어보겠습니다.


ALTER TABLE Member

ADD CONSTRAINT UNIQUE_MEmberID UNIQUE(MemberID)

GO

--// ALTER TABLE 테이블명

--// ADD CONSTRAINT 제약조건명칭 UNIQUE(컬럼명)

7.png



역시 NULL은 한개 입력되지만.. 중복이 허락되진 않네요~!


이 처럼 Primary Key 와 Unique 의 차이점은 바로 NULL이 한개 들어갈 수 없냐의 문제 였습니다.


제가 듣기로는 초보 DBA 면접 문제로도 가끔 나온다고 하니.. 모르시는 분들은 챙겨두면 좋을 것 같습니다. ^^



강좌를 마치도록 하겠습니다.


감사합니다. ^^


작성일: 2011.05.21


[출처] SQLER.COM http://www.sqler.com/382152


SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?



SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================

안녕하세요. 이스트럭(강동운) 입니다.


이번 강좌에서는 저번 강좌에서 추가한 Member 테이블을 가지고 컬럼을 추가, 삭제, 컬럼명을 변경하는 법에 대해서 알아보도록 하겠습니다.


물론 추가로 테이블명도 변경을 해보도록 하겠습니다.



전에 말씀드렸다 싶이.. 데이터베이스 객체를 수정(ALTER) 하거나 삭제(DROP)하는 작업이기 때문에 DDL에 속하게 됩니다.

물론 이름변경(RENAME)도 DDL에 속합니다.




일단 강좌에 들어가기 앞서 NULL에 대해서 잠깐 얘기해볼까 합니다.


테이블의 컬럼에는 NULL 이 가능? 불가능? 할 수 있습니다.


그럼 데이터베이스에서 말하는 이 NULL이라는 값은 뭘까요??


NULL의 정의를 정리해봤습니다.


1. 알 수 없는 값

2. 사용할 수 없는 값

3. 적용할 수 없는 값

4. 0과 공백('') 과는 다른 값

5. 산술식과 비교하거나 연산을 하면 무조건 NULL


그냥 알 수 없는 값으로 아는 것이 좋을 것 같습니다 ^^;

이전 강좌에서의 테이블 생성 시 끝의 컬럼을 기억하십니까??
1.png
바로 이 값이 체크를 하게 되면  NULL 허용, 체크를 하지 않으면 NULL 불가! 가 되는 것이죠


MemberIDX 컬럼을 NULL 불가로 바꾼다면... 체크를 없애고 저장을 하시면 됩니다만..
쿼리를 이용하게 되면 아래 처럼 입력하셔야 합니다.

ALTER TABLE Member
ALTER COLUMN MemberIDX INT NOT NULL
GO

주의:이 작업은 모든 데이터 행을 수정하기 때문에 데이터가 많은 경우 무척 위험한 행동이 될 수 있습니다.
하지만 저희는 테스트로 해보는 것이기 떄문에 이런 문제는 걱정 안하셔도 됩니다 ^^;


이제 컬럼을 한번 추가해볼까요??
최종 수정일이라는 LastUpdateDate 라는 컬럼을.. DATETIME 형으로 추가해보도록 하겠습니다.

ALTER TABLE Member
ADD LastUpdateDate DATETIME
GO
SELECT * FROM Member
GO
2.png

빨간 부분이 추가가 된 것을 확인할 수 있었습니다.


혹시 기본 값을 지정할 순 없을까요?? 바로 디폴트 값을 이용하면 됩니다.
TotalLoginCount 라는 int 타입을 추가하고 기본 값으로 0을 줘봅시다.

ALTER TABLE Member
ADD TotalLoginCount INT  DEFAULT 0 NOT NULL
GO
3.png


TotalLoginCount가 0으로 초기화 되면서 추가된 것을 볼 수 있습니다. ^^


이제 컬럼명을 바꿔 볼까요?? ^^;; TotalLoginCount 컬럼명을.. TotalLoginCnt 로 변경해 봅시다.
sp_rename 'Member.TotalLoginCount','TotalLoginCnt','COLUMN'
--// sp_rename '테이블명.컬럼명','컬럼명','COLUMN'
GO
SELECT * FROM member
4.png


컬럼명이 성공적으로 변경 된 것을 보실 수 있습니다.
sp_rename에 관련해서는.. 아래 링크를 참고해보시기 바랍니다. ^^


이제 컬럼명을 삭제해보도록 하겠습니다. MemberAge 라는 컬럼을 삭제해보도록 하겠습니다.
ALTER TABLE member
DROP COLUMN MemberAge
GO
SELECT * FROM member
5.png

이렇게 컬럼이 삭제된 것을 볼 수 있습니다.


이제 TotalLoginCnt 라는 컬럼을 삭제해보도록 하겠습니다.
일단 에러 내용을 한국어로 보기 위해서..
(SET LANGUAGE 관련 글: http://www.sqler.com/371714)
SET language 한국어
GO
ALTER TABLE Member
DROP COLUMN TotalLoginCnt
GO
6.png

개체 'DF__Member__TotalLog__108B795B'은(는) 열 'TotalLoginCnt'에 종속되어 있습니다.
라는 에러와 함께 삭제가 되지 않습니다. 이 녀석은 뭘까요??

아까 컬럼을 추가했을 당시.. DEFAULT 값을 주었습니다. 이 녀석이 default 제약 조건에 포함이 되어있기 때문에
먼저 삭제를 해야 삭제가 가능합니다.

물론 DEFAULT 제약조건도 자식이기 때문에.. 부모가 없어질려면 자식부터 지워야겠죠~! 고아가 될 순 없으니까요 ^^;;
ALTER TABLE Member
DROP CONSTRAINT DF__Member__TotalLog__108B795B
GO
주의: DF__Member__TotalLog__108B795B 값은 컴퓨터 마다 달라질 수 있습니다.
물론 default 제약조건에 이름을 지정할 수는 있지만.. 우리는 지정하지 않았기 때문에 .. SQL Server 내부적으로 알아서 지정하게 됩니다.


이제 다시 컬럼을 삭제해보면 ..정상적으로 삭제되는 것을 볼 수 있습니다.

7.png


물론 컬럼명 변경하듯이.. 테이블명도 바꿀 수 있겠죠??  제가 알려드린 sp_rename 링크에 소개되어있습니다. 

감사합니다. ^^

작성일: 2011.05.21

[출처] SQLER.COM http://www.sqler.com/382121

SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?



SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요. 이스트럭(강동운) 입니다.


저번 강좌에 소개해드렸던 데이터베이스 생성에는 문제가 없으셨나요?? ^^;;


이번 강좌는 바로 DDL 1탄 테이블 생성입니다.


DDL은.. Data Definition Language 의 약자로서.. 

 1. 데이터베이스 객체 생성(CREATE)

 2. 데이터베이스 객체 수정(ALTER)

 3. 데이터베이스 객체 삭제(DROP)

 4. 데이터베이스 이름 변경(RENAME)

 5. 테이블 초기화(TRUNCATE)



이렇게 5가지로 구분이 됩니다.


이 중에서 우리가 이번에 살펴봐야 할 부분은.. 생성 부분중에서 테이블입니다.


SQL Server에서 테이블은 뭘까요?? 쉽게 생각하시면 엑셀로 생각하시면 됩니다.



이번에 새로 출시된 Microsoft Office 2010 입니다. 2007과 거의 흡사하게 디자인이 되었으며.. 많은 기능들이 추가되었습니다 ^^


1.png


열이라는 속성을 가지고 있으며

행이라는 데이터를 가지고 있습니다.


물론 각 시트들은 하나하나의 테이블이 되겠죠!


바로 이런 것이 테이블입니다.


자~! 바로 실전으로 들어갑시다~~!


SSMS 접속 => 데이터베이스 => Table 우클릭 => New Table


2.png



New Table을 클릭하시면 아래와 같은 화면이 나옵니다.


제가 입력한 항목에 맞게 순서대로 입력해봅시다 ^^


3.png

Column Name: 컬럼 명을 기술합니다. 한글도 가능하지만 되도록 영문을 쓰며, 특수문자 사용을 하지 않는 것이 좋습니다.

Data Type: 데이터 타입은 정말 여러가지가 있습니다. 일단 저희가 이번에 다루는 데이터 타입은

int, varchar, datetime 이 3가지 입니다.


int: 약 -21억 ~ 21억 까지의 숫자를 저장할 수 있는 4바이트 정수입니다.

    (추가로 알아두면 좋은 데이터 타입: smallint: 약 -3만2천 ~ 3만2천, tinyint: 0~255)


varchar: 가변 길이의 문자열을 저장 괄호안의 숫자로 넣을 수 있는 숫자를 조절할 수 있습니다. 

            숫자는 바이트이지만.. 한글은 2바이트이기 때문에.. varchar(10)으로 지정하게 되면, 영문/숫자 10자 또는

            한글은 최대 5자가 들어갈 수 있습니다.

    (추가로 알아두면 좋은 데이터 타입: nvarchar: 가변 길이 유니코드형 데이터 저장, char: 고정 길이 문자열 저장, nchar: 고정 길이 유니코드형 데이터 저장)


datetime: 2011-05-11 05:11:11.997 처럼... 밀리세컨드까지 저장할 수 있는 데이터 타입입니다.



데이터 형식에 대해서 자세한 내용은 아래 링크 참고하시기 바랍니다.

데이터 형식(Transact-SQL)

http://msdn.microsoft.com/ko-kr/library/ms187752.aspx



자! 입력이 다 끝나셨으면.. 오른쪽 상단에 있는 저장 또는 (Ctrl+S)를 클릭해서 테이블명 Member라고 입력하고 확인을 누릅시다.

4.png



아직 INSERT 를 배우진 않았지만.. 쿼리를 이용해서 데이터를 입력하고.. 내용을 확인해보도록 하겠습니다.



좌측 상단의 New Query 를 클릭하고! 아래의 쿼리를 입력해봅시다~!


use TEST

go


insert into Member values(1,'hong', '홍길동', 30, '2011-05-01')

insert into Member values(2, 'lee', '이순신', 29 , '2011-05-02')

insert into Member values(3, 'shin', '신사임당', 21, '2011-05-03')

insert into Member values(4, 'lim', '임꺽정', 39, '2011-05-04')

go


select * from Member

go


아래 처럼 원하는 결과가 잘 나오시나요?? ^^;;

5.png



아까 엑셀에서 봤던 모습과 흡사합니다.


이렇게 테이블을 생성하고 테스트 데이터를 넣어보고, 조회를 해봤습니다. ^^



테이블 생성은 Query 로 안될까요?? 물론 됩니다~~!!


아주 간단하게 아래 처럼 작성할 수 있습니다.


CREATE TABLE MemberQuery

(

MemberIDX INT

, MemberID VARCHAR(10)

, MemberName VARCHAR(20)

, MemberAge INT

, CreateDate DATETIME

)


사실 테이블 생성 쿼리는 훨~~~~~씬 더욱 복잡합니다.

하지만 여러분의 레벨에 맞게 아주 기본 적인 내용만 담아서 생성한 것입니다. ^^


이번 강좌는 여기서 마치도록 하겠습니다. ^^


감사합니다.


작성일: 2011-05-21


[출처] SQLER.COM http://www.sqler.com/382081
 

SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?





SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요. 이스트럭(강동운) 입니다.


이번 강좌의 주제는 바로 MDF와 LDF 입니다...



데이터 베이스에 데이터를 저장하기 위해서는 어떻게 해야 할까요??


SQL Server는 기본적으로 MDF 확장자를 가진 파일에 데이터를 저장하게 됩니다.


또한 데이터베이스에 있어서 가장 중요한.. 바로 로그!!

데이터가 변경되거나 수정되거나.. 삭제되었을때는.. 반드시..로그성 데이터를 기록하게 됩니다.

왜냐면.. 정전이나 기타 물리적인 이슈로..


데이터 손실을 방지하기 위해 데이터베이스는.. 트랜잭션이라는 개념으로 데이터를 보존하게 됩니다.

트랜잭션에 대한 깊이 있는 설명은 나중에 하기로 하고..

여기서는 간단히.. 데이터 손실을 막기 위한 수단이라고 보시면 됩니다.


책이나 기타 강좌에서 가장 많이 드는.. 바로.. 은행에서 돈 이체시 정전이 된다면 어떻게 해야 할까요??..

물론 정전으로 인해서.. 빠져나간 돈은 다시 내 통장으로 들어오는게 정상일 것 입니다.


이 강좌 후반부에 트랜잭션에 대해서 자세히 다룰 예정이기 때문에.. 트랜잭션에 대해서는 여기까지만 설명하고 넘어가도록 하겠습니다!



SQL Server는.. 이런 데이터 손실을 방지하기 위해.. LDF라는 확장자를 가진 곳에.. 데이터가 변경된 내역을 저장하게 됩니다.



따라서.. SQL Server에서 데이터베이스를 생성하게 되면.. 기본적으로 MDF 와 LDF 하나씩은 만들어야 합니다. ^^..


그리고.. MDF 라는 녀석은 파일 그룹에 속하게 됩니다. SQL Server 는 기본적으로 PRIMARY 라는 파일 그룹이 있는데요.


물론 MDF가 한개 이상의 파일그룹을 가질 순 없고 무조건 1:1로만 가능합니다.


이걸 그림으로 그리면 아래와 같은 그림이 됩니다.


1.png



파일 그룹이 두개가 이상 될 수도 있고... MDF 파일이 여러개가 될 수 있습니다.

MDF가 두개 이상이 되면.. MDF 말고 NDF로 만들어 집니다. 아래와 같은 그림도 될 수 있습니다.


2.png 


그럼 데이터 베이스를 한번 만들어볼까요?? 우선 저번 강좌에 설명 드린 데이터 베이스에 접속을 하신 뒤에..


Database 항목에 우클릭 => New Database 클릭!


3.png


위와 같이 하시면 아래와 같은 창이 나타나게 됩니다 ^^

4.png


Logical Name: 논리적인 이름

File Type: Rows Data(MDF 파일), Log(LDF 파일)

Filegroup: 파일 그룹(기본값 PRIMARY)

Initial Size (MB): 기본적인 파일 사이즈(단위: MB)

Autogrowth / Maxsize: 자동 증가 설정 및 최대 사이즈 설정 값

Path: 실제 파일이 위치할 경로

File Name: 실제 파일 이름 입니다.


아래 그림 처럼


Database name과 File Name을 입력하시고.. 빨간색으로 처리된 부분을 눌러보세요~!


6.png



그러시면 아래와 같은 박스가 나오게 됩니다.

5.png

Enable Autogrowth: 자동증가 활성 여부

File Growth: 파일 증가 방법

  1. In Percent: 퍼센트

  2. In Megabytes: MB 량으로 늘리기


Maximun File Size: 최대 파일 사이즈

  1. Limited to (MB): 지정된 파일 사이즈

  2. Unlimited: 제한 없음



저희는.. 

MDF에 대해서 20% 씩 파일 자동 증가와 제한 없음

LDF에 대해서는 10% 씩 파일 자동 증가와 제한 없음을 선택하도록 하겠습니다.


자 이제 모든 준비가 끝났으니.. OK 를 눌러서.. DATABASE 를 생성해보도록 하겠습니다!

7.png



짝짝짝!!~

데이터 베이스가 정상적으로 만들어졌습니다. ^^

New Query 를 이용해서.. 아래 쿼리로.. 만들어진 데이터 베이스 정보를 볼 수 있습니다.

end.png



물론.. Query 로도 데이터베이스를 만들 수 있습니다.


따로 옵션 부분들은 위에 모두 설명드렸기 때문에 설명드리지 않겠습니다. ^^

살짝만 눈여겨 보시기 바랍니다.


CREATE DATABASE TestQuery ON

(

NAME = N'TestQuery'

, FILENAME = 'C:\TestQuery_DATA.MDF'

, SIZE = 4MB

, MAXSIZE = UNLIMITED

, FILEGROWTH = 1MB

)

LOG ON

(

NAME = N'TestQuery_log'

, FILENAME = 'C:\TestQuery_LOG.LDF'

, SIZE = 1MB

, MAXSIZE = 1024GB

, FILEGROWTH = 10%

);



한가지 추가로!! DATABASE 를 가장 쉽게 만들 수 있는 방법이 있습니다.
바로.. 아래의 쿼리로 만드실 수 있습니다. 이 방법은.. system db 중에서 model 디비가 붕어빵이 되서 만들어집니다.
system db가 뭐하는 녀석인지는 나중에 기회되면 설명드리겠습니다. ^^

CREATE DATABASE 데이터베이스명
GO

감사합니다. ^^

작성일: 2011.05.21

[출처] SQLER.COM http://www.sqler.com/382066

SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?



SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요. 이스트럭(강동운) 입니다.

 

설치하시는데는 문제는 없으셨나요?? ^^...

 

이번 강좌에서는.. 설치된 SQL Server 를 가지고 접속에 대해서 알아볼 차례입니다.

 

 

접속을 하기 위해서는.. SSMS라는 도구가 필요합니다.(물론 설치시에 설치가 되어있습니다.)

 

SSMS는.. SQL server Management Studio의 약자이며, 아래 위치에 설치가 되어있습니다.

 

end.png

 

 

이걸 클릭해서 SQL Server에 접속을 해보도록 합시다.

 

처음 접속을 하게 되면 아래와 같은 화면이 나오게 됩니다.

 

일단 Server Name에는... localhost 혹은 . 혹은 (local)이라고 적으시면 됩니다.

로그인 할 수 있는 계정에는 두가지가 있습니다.

바로 윈도우 계정과 SQL 계정입니다.

1.png

 

 

혹시 설치 중에 아래화면 기억나시나요??

12.png

 

 

네.. 그렇습니다. 저희는.. 혼합 인증모드로 사용하도록 했습니다. ^^ 따라서..

윈도우 인증 모드와 SQL 인증 모두 모두가 가능합니다.

 

윈도우 인증 모드로 하신다면~! 아래 화면 처럼~ 선택 후 Connect!!

 

2.png

 

 

SQL 인증 모드로 하신다면...

계정명: sa

비밀번호: 인스톨시 입력했던 비밀번호

를 넣고 Connect 를 누르시면 됩니다 ^^

3.png

 

 

 

자 이제 아래와 같은 그림이 나오시나요?? ^^;;

 

바로 이게 SQL Server에 정상적으로 접속이 된 상태입니다. ^^

(참고로 저는 윈도우 계정 모드를 선택해서 로그인을 했습니다.)

4.png

 

 

이제 New Query 를 눌러봅시다!

5.png

 

 

짜잔!! 창이 두가지 형태로 나누어졌습니다.

오른 쪽이 드디어.. 저희가 Query 라는 것을 이용해서..

데이터를 가져오거나 입력, 수정,삭제 할 수 있는 창입니다 ^^..

6.png

 

 

한번 테스트로 쿼리 입력해볼까요?

select * from sys.obects 라는 쿼리를 입력해보도록 하겠습니다.

아래 처럼 결과가 나왔습니다.

7.png

 

이렇게 인증 모드를 통한 접속과 간단하게 쿼리를 날려보는 화면까지가 이번 강좌입니다 ^^

 

다음 강좌때 뵙도록 하겠습니다!

 

감사합니다. ^^

 

작성일: 2011.05.17


[출처] SQLER.COM http://www.sqler.com/379588
 

SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?




SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요.  이스트럭(강동운)입니다.

 

이번 강좌는 SQL Server 2011 Denali의 설치에 대해서 알아보도록 하겠습니다. ^^

 

현재 영문판만 제공되기 때문에.. 아래 링크를 통해서 다운 받으시면 됩니다~!


DENALI CTP3: https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/default.aspx



아래 설명은 CTP1 기준으로 작성되었습니다 ^^

 

위 링크 중에서 exe 파일을 내려받으시면 됩니다.

저는 Windows 2008 R2 x64 영문판이기 때문에.. SQLFULL_x64_ENU.exe 를 다운 받았습니다 ^^

0.png

 

 

 

다운 받은 파일을 실행을 하시면 아래와 같은 화면이 나오게 됩니다.

저희는 초보이고, 설치가 주목적이기 때문에 다른 내용은 생략하고, 설치만 중점적으로 얘기하도록 하겠습니다.

일단 설치를 위해 Installation 을 클릭하세요 ^^

1.png  

Installation을 클릭 후에는 아래와 같은 화면이 나오게 됩니다. 이 중에서 저희는 SQL Server 를 설치하는 것이 목적이기 때문에 첫번째 항목을 선택하도록 합니다!

2.png

 

 

새 창이 뜨면서 설치가 진행이 됩니다.

아래 항목들은 현재 서버에 SQL Server 2011이 설치가 가능한지에 대해서 알아보는 화면입니다.

SQL Server 2011을 설치하기 위해서는.. 최소 .NET Framework 3.5 Package 이상이 설치되어야 합니다.

또한 기타 여러가지 제약조건이 통과가 되면 아래 Next 버튼이 활성화가 됩니다.

만약 Next 버튼이 비활성화 되어있다면.. Status 항목중에 실패한 것이 없는지 체크해보시기 바랍니다.

3.png

 

 

여기서는 제품 종류를 선택하는 화면이 나옵니다. 일단 저희는 Enterprise Evaluation edition 을 설치해보도록 하겠습니다.

 

 제품을 선택하고, Next를 누릅시다!

4.png

 

 

이번 화면은.. 설치에 동의서? 라고 보시면 됩니다. 체크 박스에 모두 체크하고 Next를 누릅시다.

 

5.png

 

 

이번 화면은 SQL Server Denali을 어떤 방식으로 설치 할지에 대해서 선택하는 화면입니다.

첫번째 항목을 선택한 후 Next를 누릅시다.

6.png

 

 

이번 화면은.. Denali 중에서 어떤 항목을 설치할 것인지를 선택하는 화면입니다.

저희는 기본 적인 구동을 위해.. Database Engine Service 와 Management Tools - Basic 과 complete 항목만 선택하도록 합시다.

그리고 Next를 누릅시다~!

7.png

 

 

이번 화면은.. Denali 설치에 위배되는 제약조건이 없는지 검사하는 부분입니다.

만약 문제가 된다면 Show details 를 클릭해서 문제가 되는 조건을 확인해보시기 바랍니다.

일단 문제가 없으므로~~ Next!!

8.png

 

 

이번 화면은.. 인스턴스 명을 지정하는 것입니다.

하나의 윈도우 서버에는 여러개의 SQL Server를 설치할 수 있습니다. 이때 인스턴스 명으로 여러개의 SQL Server가 구분이 될 수 있는데요.

저희는 하나만 설치하는 것이기 때문에.. Default instance로 설치하도록 하겠습니다.

Next!!

9.png

 

 

이번 화면은.. 설치 디스크의 사용 가능 공간과 설치에 필요한 용량을 수치로 표시한 화면입니다.

크게 의미는 없으므로 Next!!

10.png

 

 

이번 화면은.. SQL Server 구성 정보를 등록하는 화면입니다.

SQL Server는.. Windows 서버에서 하나의 서비스? 형태로 작동을 하게 되는데요..

이때 이 서비스를 실행하기 위한 윈도우 계정이 필요하게 됩니다...

 

SQL Server Agent 또한 SQL Server와는 다르게 또 다른 서비스의 형태로 작동하게 됩니다.

SQL Server Agent는.. 특정 시간에 원하는 구문을 처리한다거나.. 백업 등을 담당하는 아주 중요한 서비스 입니다.

깊이 있는 부분은 추후 강좌에 설명드리도록 하겠습니다 ^^

 

보안상 이번 스텝은 중요한 부분입니다만... 추후 강좌에 설명드릴 수 있다면 깊이있게 설명드리겠습니다.

우선은 NT AUTHORITY\SYSTEM  계정으로 선택한 뒤에 Next!!

11.png

 

 

이번 화면은.. SQL Server의 계정을 어떤 식으로 이용할지에 대한 화면 입니다.

일반 적으로 SQL Server는 윈도우 계정 모드와 윈도우 계정 + SQL 계정 모드를 혼합할 수 있는 두가지 형태로 제공되고 있습니다.

윈도우 계정이라고 하는 것은... 우리가 현재 설치를 하고 있는 윈도우 계정을 말하고

SQL 계정은.. SQL Server 내에 계정을 생성해서 로그인을 할 수 있는 방법을 말합니다.

 

우리는 여기서 2번째 혼합 모드로 선택을 하고..

SQL Server의 기본 admin 계정인 sa의 비밀번호를 넣고,

현재 윈도우 계정을 Server admin으로 등록하기 위해 add Current User 를 클릭 후 Next를 누릅시다!

 

12.png

 

 

이제 거의 다 와갑니다 ^^;;

이번 화면은.. 설치 한 정보를 MS에다가 제공할지 여부를 결정하는 정보입니다.

이런 설치 정보를 MS에서 수집함으로 써.. 좀 더 설치 오류에 대해서 개선을 하게 되고, 제품의 질을 향상되게 합니다 ^^

체크 후 Next!!

13.png

 

 

이제 우리가 설정했던 인스톨의 내용이 제대로 설정을 한건지 최종적으로 체크!! Next!!

14.png

 

 

 

이번 화면은... 최종 적으로.. 이렇게 설치될꺼다! 라고 보여주는 화면입니다. 이제 Install!! 클릭!!

15.png

 

 

설치시간이 꽤 걸리네요~~!

이제 인스톨이 완료되었습니다 ^^

모든 항목이 제대로 설치 되었는지 체크해보시고, Close를 누르세요~~!

16.png    

 

이제 마지막으로 시작 버튼을 클릭해서.. SQL Server Denali이 제대로 설치가 되었는지 확인해봅시다!

 

end.png

 

정상적으로 설치가 되었네요 ~^^

 

SQL Server를 기본적으로 사용하기 위해.. 기본적인 설치 항목만 살펴봤습니다~~!

 

모든 부분을 다 설명드리기엔 이해 못하실 부분이 많이 있을 것으로 판단됩니다.

 

차근 차근 강좌를 진행하면서 내공을 쌓으시고... 다시 설치를 해보신다면.. 제가 설명드렸던 부분 외에도..

 

많은 부분을 이해하실 수 있을 것으로 판단됩니다~!

 

이제 설치를 하셨으니!! 화이팅 하시고~~ 다음에 또 뵙겠습니다.

 

감사합니다.

 

작성일: 2011-05-17


[출처] SQLER.COM http://www.sqler.com/379541


SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?


SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?

Mass SQL 인젝션으로 삽입된 악성코드 일괄 삭제 하기!

최근 쿠키 취약점을 토대로 들어오는 Mass SQL 인젝션의 경우, 기존 DB 내용을 변조하지 않고, 악성코드가 덧붙여 삽입되는 형식이기 때문에 악성코드 일괄 삭제 쿼리로 손쉽게 정상 상태로 복원이 가능하다. 하지만 SQL 인젝션 특성 상 언제 또 코드가 바뀔지 모르는 일이기 때문에 현재에 안주해서는 안 된다. 반드시 웹 취약점을 보완해야 한다는 것을 명심하시길…

SQL 인젝션으로 인해 DB 내용이 변조되었을 때 SQL 인젝션 코드를 역으로 이용하여 악성코드만 삭제하는 쿼리다. 참고로 DB 내용의 일부분이 손상 및 변조되고, 악성코드가 그 자리에 치환되는 수법이라면 정상 상태로 복원되지 않는다.

당시 이 쿼리를 만들기 위해 여러 웹사이트들을 참조했었는데 죄송스럽게도 지금은 정확하게 기억이 나지 않아서… (만일, 본인이 만들었던 스크립트라면 댓글 부탁 드립니다. 출처 명시해 드리겠습니다.)

이하 주의 사항 입니다.

이 스크립트의 단점이라 하면 로그인 아이디가 해당 DB에 DBO 권한을 가지고 있어야 하며 테이블의 소유자가 DBO로 설정되어 있어야 합니다. 물론 그 부분를 보안하기 위해 추가 처리가 되어있긴 합니다만, 필히 참고해 주셔야 하는 부분이므로 미리 공지합니다. 또한 SA 계정이나 윈도우즈 로그인 등을 통해 DB 서버의 최상위 권한으로 쿼리를 실행시켜 주어야 합니다. 그 외 중요한 부분들은 주석으로 설명이 되어 있으니 필히 주석을 참고해 주십시오. 궁금하신 사항들은 댓글로 부탁 드립니다.

이미 로그인 아이디가 DBO 권한을 가지고 있고, 테이블의 소유자가 DBO로 설정되어 있는 경우와 그렇지 않을 경우로 나누어 SQL 파일을 공개합니다. 다운로드에 유념해 주시기 바라며 실제 스크립트를 돌리시기 전에는 미리 원본 DB를 반드시 백업 받아 두세요.

 [다운로드1] 로그인 아이디가 해당 DB의 DBO 권한을 가지고 있고, 테이블의 소유자가 DBO로 설정되어 있는 경우.

 [다운로드2] 로그인 아이디가 해당 DB의 DBO 권한을 가지고 있지 않고, 테이블의 소유자 역시 해당 로그인 아이디로 설정되어 있는 경우.

 

이상입니다. 그럼~