목차 일부
Chapter 1 데이터 형식 관련 문제, XML, CLR 사용자 정의 유형 ... 31
DATETIME 데이터 형식 ... 34
DATETIME 저장 형식 ... 34
Datetime 조작 ... 36
Datetime 관련 쿼리 문제 ... 41
문자 데이터 형식 관련 문제 ... 64
패턴 매칭 .....
더보기
목차 전체
Chapter 1 데이터 형식 관련 문제, XML, CLR 사용자 정의 유형 ... 31
DATETIME 데이터 형식 ... 34
DATETIME 저장 형식 ... 34
Datetime 조작 ... 36
Datetime 관련 쿼리 문제 ... 41
문자 데이터 형식 관련 문제 ... 64
패턴 매칭 ... 64
대소문자 구분 필터 ... 70
대용량 개체 ... 72
MAX 지정자 ... 72
BULK 행 집합 공급자 ... 75
암시적 형변환 ... 77
스칼라식 ... 77
필터 조건식 ... 79
CLR 사용자 정의 유형 ... 83
사용자 정의 유형(UDT) 이론적 소개 ... 84
사용자 정의 유형(UDT) 프로그래밍 ... 94
XML 데이터 형식 ... 114
관계형 데이터베이스의 XML 지원 기능 ... 115
관계형 표현 대신 XML을 사용해야만 하는 경우는? ... 117
데이터베이스에 직렬화된 XML 개체 ... 120
개방형 스키마와 XML ... 127
저장 프로시저의 매개변수로 XML 데이터 형식 사용 ... 135
XQuery 변경 명령 ... 136
결론 ... 137
Chapter 2 임시 테이블과 테이블 변수 ... 139
임시 테이블 ... 142
로컬 임시 테이블 ... 142
전역 임시 테이블 ... 152
테이블 변수 ... 155
제한사항 ... 155
tempdb ... 156
참조범위와 가시성 ... 157
트랜잭션 컨텍스트 ... 157
통계 ... 158
tempdb 고려사항 ... 162
테이블식 ... 163
비교 요약 ... 165
요약 사례 - 관계형 분할 ... 166
결론 ... 172
Chapter 3 커서 ... 173
커서 사용하기 ... 176
커서의 작업 부하 ... 178
행 기준 액세스 ... 180
정렬 기준 액세스 ... 182
사용자지정 집계 ... 182
누적 집계(Running Aggregation) ... 184
최대 동시 접속 세션 ... 189
매핑 문제 ... 200
결론 ... 207
Chapter 4 동적 SQL ... 209
EXEC ... 213
EXEC 예제 ... 213
EXEC 명령은 인터페이스가 없다 ... 214
변수 조합 ... 218
EXEC AT ... 219
sp_executesql ... 223
sp_executesql 인터페이스 ... 223
문장 길이 제한 ... 226
환경 설정 ... 227
동적 SQL 활용 ... 228
동적 관리 작업 ... 228
계산식 저장 ... 231
동적 필터 조건 ... 236
동적 PIVOT/UNPIVOT ... 243
SQL 인젝션 ... 250
SQL 인젝션: 클라이언트 측 공격 사례 ... 250
SQL 인젝션: 서버 측 공격 사례 ... 252
SQL 인젝션 대비책 ... 256
결론 ... 259
Chapter 5 뷰 ... 261
뷰란 무엇인가? ... 263
뷰 안의 ORDER BY 절 ... 265
뷰 갱신 ... 270
모듈화 접근 방법 ... 273
뷰를 통한 업데이트 작업 ... 284
View의 옵션 ... 289
ENCRYPTION ... 289
SCHEMABINDING ... 289
CHECK OPTION ... 290
VIEW_METADATA ... 292
인덱싱된 뷰 ... 294
결론 ... 300
Chapter 6 사용자 정의 함수 ... 301
사용자 정의 함수에 대한 상식 ... 303
스칼라값 사용자 정의 함수 ... 304
T-SQL 스칼라값 사용자 정의 함수 ... 305
성능 문제 ... 307
제약 조건에 사용자 정의 함수 사용 ... 310
CLR 스칼라값 사용자 정의 함수 ... 314
SQL 패턴 분석 ... 325
테이블값 사용자 정의 함수 ... 335
인라인 테이블값 사용자 정의 함수 ... 335
배열 분해(Split Array) ... 338
다중문(Multistatement) 테이블값 사용자 정의 함수 ... 345
행 단위 사용자 정의 함수 ... 351
결론 ... 354
Chapter 7 저장 프로시저 ... 355
저장 프로시저의 종류 ... 357
사용자 정의 저장 프로시저 ... 358
특수 저장 프로시저 ... 362
시스템 저장 프로시저 ... 365
그 밖의 저장 프로시저 종류 ... 367
저장 프로시저 인터페이스 ... 368
입력 매개변수 ... 368
출력 매개변수 ... 370
이름 확인 ... 375
컴파일, 재컴파일, 실행 계획 재사용 ... 377
실행 계획의 재사용 ... 378
재컴파일 ... 384
매개변수 스니핑 문제 ... 388
EXECUTE AS ... 393
매개변수를 사용한 정렬 ... 394
동적 피벗(Pivot) ... 400
CLR 저장 프로시저 ... 412
결론 ... 422
Chapter 8 트리거 ... 423
AFTER 트리거 ... 426
inserted와 deleted 특수 테이블 ... 427
영향을 받은 행수 확인하기 ... 428
트리거의 유형 확인하기 ... 433
특정 문장에 대해서 트리거 동작하지 않기 ... 436
중첩 및 재귀 ... 441
UPDATE 및 COLUMNS_UPDATED ... 442
감사(Auditing) 예제 ... 447
INSTEAD OF 트리거 ... 450
행 단위 트리거 ... 451
뷰에서 사용하기 ... 455
자동 시퀀스 조작 ... 458
DDL 트리거 ... 461
데이터베이스 범위 트리거 ... 463
서버 범위 트리거 ... 468
CLR 트리거 ... 470
결론 ... 480
Chapter 9 트랜잭션 ... 481
트랜잭션은 무엇인가? ... 484
잠금 ... 487
격리 수준 ... 494
커밋되지 않은 읽기(Read Uncommitted) ... 496
커밋된 읽기(Read Committed) ... 497
반복 읽기(Repeatable Read) ... 498
직렬화 가능(Serializable) ... 499
새로운 격리 수준 ... 500
저장점(Save Point) ... 508
교착상태(Deadlock) ... 510
간단한 교착상태 예제 ... 511
누락된 인덱스로 인한 교착상태 ... 512
단일 테이블에서의 교착상태 ... 517
결론 ... 519
Chapter 10 예외 처리 ... 521
SQL Server 2005 이전의 예외 처리 ... 523
SQL Server 2005의 예외 처리 ... 527
TRY/CATCH ... 527
새로운 예외 처리 함수 ... 529
트랜잭션에서의 오류 ... 532
결론 ... 544
Chapter 11 Service Broker ... 545
대화 기능(Dialog Conversations) ... 547
대화(Conversations) ... 548
메시지(Messages) ... 552
계약(Contracts) ... 554
DEFAULT ... 556
큐(Queues) ... 556
서비스(Services) ... 561
다이얼로그의 시작과 종료 ... 563
대화 끝점 ... 566
대화 그룹 ... 568
메시지 전송 및 수신 ... 571
예제 다이얼로그 ... 575
포이즌 메시지 ... 585
다이얼로그 보안 ... 586
비대칭 키 인증 ... 588
다이얼로그 보안 구성하기 ... 589
라우팅 및 분산 ... 593
인접한 Broker 프로토콜 ... 594
Service Broker 끝점 ... 595
경로(Routes) ... 601
시나리오 ... 607
안정적인 SOA ... 607
비동기 처리 ... 608
어디에 Service Broker가 적합한가? ... 609
Service Broker는 ...이다 ... 609
Service Broker는 ...이 아니다 ... 610
Service Broker 및 MSMQ ... 610
Service Broker와 BizTalk ... 611
Service Broker와 Windows Communication Foundation ... 611
결론 ... 612
Appendix A CLR 루틴의 길잡이 ... 613
CLRUtilities 데이터베이스 생성: SQL Server ... 615
개발: Visual Studio ... 616
배포 및 테스트: Visual Studio 및 SQL Server ... 617
찾아보기 ... 641
더보기 닫기