본문 바로가기

SQL

SQL Server 2005에서 사용하지 않는 테이블을 찾아 정리하는 방법 SQL Server 2005에서 사용하지 않는 테이블을 찾아 정리하는 방법 1. sp_depends 아래 그림은 sp_depends 실행결과이다. tblCall10 번을 참조하는 프로시저들이 얼마나 있는지를 알 수 있다. 2. sysobjects 와 syscomments 두 개의 시스템 테이블을 이용하여 tblCall10 이라는 텍스트를 가진 모든 프로시저들의 목록을 볼 수 있다. 많을수록 여러 군데에서 참조하고 있음을 알 수 있다. SELECT DISTINCT a.name FROM sysobjects AS a INNER JOIN syscomments AS b ON a.id=b.id AND b.text LIKE '%tblCall10%' 3. sp_depends 프로시저 응용 편 특수한 시스템 테이블 몇 .. 더보기
SP(Stored Procedure), DB Schema 형상관리/버전관리 MSSQL DBA를 하고자 하는 1인으로서 굉장히 하고싶은 작업이긴 한데, 실제 완벽한 솔루션은 제공되지 않는듯하다. 인터넷을 돌아다니다 찾은 자료를 몇가지 정리해둬야겠다. 1. Sequel Safe http://purumae.tistory.com/category/Sequel%20Safe SP 기반으로 DB자체내 기능을 이용하여 Schema 변경이나 SP 변경이력을 관리한다. 기능은 지속적으로 개선되고 여러가지 기능을 제공하기는 하나, GUI 환경이 아닌 SSMS를 통해서 사용하기 때문에 DBA 뿐만 아니라 개발자들 역시도 어렵게 느끼지 않을까 싶다. 추구하는 컨셉자체는 개발→QA→운영 단계를 거치도록 하여 우리가 주로 이상적으로 추구하는 것과 일맥상통하다. 하지만 인원이 부족한 IT개발부서로써는 어찌보.. 더보기
[SQL 전문가] 제1장 데이터 모델링의 이해 4. 속성의 분류 기본속성 (Basic Attribute) - 업무분석을 통해 바로 정의한 속성 설계속성 (Designed Attribute) - 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성 파생속성 (Derived Attribute) - 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성 5. 도메인(Domain) 엔티티 내 각 속성이 가질 수 있는 데이터타입과 크기, 제약사항 더보기
DATETIME에서 지원하는 가장 빠른 날짜가 1753년인 이유는? 알아두면 좋은 MS-SQL 관련 토막상식01 DATETIME에서 지원하는 가장 빠른 날짜가 1753년인 이유는? - Tibor Karaszi, SQL Server MVP, Solid Quality Learning 좋은 질문이다. 이 제한사항에는 역사적인 이유가 있다. 서양에서는 두 개(줄리안력과 그레고리안력)의 달력을 사용해왔다. 어느 세기를 보느냐에 따라 줄리안력과 그레고리안력은 몇 일 정도의 차이가 났었고, 줄리안력에서 그레고리안력으로 표준을 변경하면서 약 10-13일 정도가 제거되었다. 대영제국에서는 1752년 줄리안력에서 그레고리안력으로 표준을 변경하였다.(그래서 1752년에는 1752년 9월 2일 다음 날이 1752년 9월 14일이 되었다.) Microsoft SQL Server의 전신인 Syb.. 더보기
SQL 뭐라고 읽어야 하나.....? 씨퀄? 에스큐엘? 알아두면 도움이 될 SQL 토막상식03 SQL 뭐라고 읽어야 하나? 실제적으로 올바른 발음은 문자 그대로 "에스큐엘"임에도 불구하고, 대부분의 영어를 쓰는 데이터베이스 전문가는 SQL을 "씨퀄"이라고 발음합니다. 누구나 이러한 잘못된 발음을 아무런 거리낌없이 사용한다는데서 분명하게 어떤 이유가 있는 것이라고 추측할 수 있습니다. 필자의 추측에는 역사적인 이유과 언어학적인 이유가 공존한다고 생각합니다. 먼저 역사적인 이유를 살펴보면, 1970년대에 IBM은 SEQUEL(Structured English QUEry Language을 축약한 약어)이라는 새로운 언어를 개발하였습니다. SEQUEL은 Edgar F. Codd 박사의 관계형 데이터베이스 관리 시스템(RDBMS)의 모델을 기초하여 설계된, Syste.. 더보기
SQL 개발자(SQLD, SQL Developer)자격 출처 : http://www.dbguide.net/da.db?cmd=snb_sqld_1 시험일정 시험명 : 제 4회 SQL 개발자 자격검정 접수기간 : 2011.07.24. ~ 2011.10.28 연기기간 : 2011.10.31 ~ 2011.11.04 시험일 : 2011.11.26 더보기
sp_MSforeachdb 대체 할 만한 SP Sql Server에서 제공하는 SP중 비공식문서에만 존재하는 sp_MSforeachdb 에 몇가지 기능을 추가한 SP를 웹에서 발견하였다. Problem While the system procedure sp_MSforeachdb is neither documented nor officially supported, most SQL Server professionals have used it at one time or another. This is typically for ad hoc maintenance tasks, but many people (myself included) have used this type of looping activity in permanent routines. Sadly, I .. 더보기
[DBA 가이드] 테이블 관리 테이블 생성하기 번호 수칙 체크 1 동일한 속성의 데이터 타입은 동일하게 할당합니다. 2 컬럼에 저장되는 데이터의 값과 특성을 고려하여 가장 적합한 데이터 타입을 선택합니다. 3 데이터 무결성을 보장할 수 있도록 적절하게 제약 조건을 정의합니다. 4 항상 값이 저장되는 컬럼에 대해서는 반드시 NOT NULL로 정의합니다. 수칙1. 동일한 속성의 데이터 타입은 일관되게 동일하게 할당합니다. 동일한 속성을 가진 데이터를 서로 다른 테이블들에서 다른 데이터 타입으로 선언한 경우에는 데이터의 불일치 뿐 아니라 성능 저하를 유발할 수도 있으므로 유의하기 바랍니다. 동일한 속성임에도 불구하고 테이블에 따라 데이터 타입이 다른 경우도 있고 데이터 타입은 동일하지만 길이가 다른 경우도 있습니다. 또한 예를 들어, 주민.. 더보기
[DBA 가이드] 백업과 복구 모든 데이터베이스 운영 환경은 반드시 장애 복구에 대한 백업과 복구 계획을 가지고 있어야 합니다. 백업과 복구 계획은 실제 운영 서버를 백업하여 실제와 동일한 상태로 철저히 테스트하고 문서화해야 합니다. 백업과 복구 계획은 응용 프로그램과 운영 체제의 구성 요소를 포함하여, 전체 시스템에 대하여 문서화해야 하며, 발생 가능한 모든 장애 시나리오를 고려하여 문서화해야 합니다. 반드시 규칙적인 테스트를 수행해야 합니다. 계획을 수립할 때에는, 시스템이 얼마동안 다운되어도 무방한지, 어느 정도의 데이터가 유실되어도 되는지에 관련된 리소스 비용과 다운타임, 복구 비용을 고려합니다. 복구 모델 복구 모델은 트랜잭션 로그에 어떤 내용이 저장되었는지를 가리키는 것입니다. SQL Server Standard Editi.. 더보기
[DBA 가이드] 데이터베이스 관리 데이터베이스 생성 번호 수칙 체크 1 트랜잭션 로그 파일은 로그 전용 드라이브에 배치합니다. 2 트랜잭션 로그 파일을 저장할 디스크는 일반적으로 RAID10으로 구성합니다. 3 데이터베이스를 만들 때 향후 예상되는 최대 데이터 크기를 고려하여 충분한 크기로 생성합니다. 4 파일이 증가할 수 있는 최대 크기를 지정하는 것을 권고합니다. 5 파일이 자동으로 증가하도록 설정하는 경우에는 자동 확장 증가 크기를 적절하게 설정합니다. 6 파일 그룹을 사용하여 데이터를 배치합니다. 7 데이터베이스를 생성한 경우에는 master 데이터베이스를 백업합니다. 8 tempdb는 I/O가 빠른 쪽에 배치할 것을 권고합니다. 수칙1. 트랜잭션 로그 파일은 로그 전용 드라이브에 배치합니다. 데이터 파일들과 트랜잭션 로그 파일은.. 더보기