시스템 테이블들을 알아보자 #1
페이지 정보
작성자 서방님 댓글 0건 조회 231회 작성일 06-11-18 11:04본문
시스템 테이블들..... ms-sql에는 가장 중요한 테이블들이다...
데이터베이스의 정보를 저장하는 저장소로 사용되며 기타 많은 정보들을 여기서 유추해 낼 수 가 있다..
그럼 하나씩 하나씩 꼭 알아볼터이다..
일단 시스템 테이블들을 어디서 보냐???
sp_tables라고 QA에서 날려보거라.... 그럼 테이블들이 쏟아진다... 여기서 시스템 테이블은 뭐냐???
table type에 써있지 않은가.... SYSTEM TABLE 이라고.... 이것들이 그렇게 중요한 테이블들이다..
내가 사용하는 데이터베이스에는
syscolumns
syscomments
sysdepends
sysfilegroups
sysfiles
sysfiles1
sysforeignkeys
sysfulltextcatalogs
sysfulltextnotify
sysindexes
sysindexkeys
sysmembers
sysobjects
syspermissions
sysproperties
sysprotects
sysreferences
systypes
sysusers
이런 테이블들이 존재한다.. 죽어라 많다... 하나씩 설명한다... 오늘 다 못하면 나중에 한다.. ㅋㅋ
이제 처음으로 알아볼 시스템 테이블은... sysobjects이다... 데이터베이스에 존재하는 객체들은 여기에 다 저장되어져 있따.. 일단..
select를 날려봐라..
select * from sysobjects ->>>>
많은것들이 나올것이다.. 여기서 컬럼 name을 보면 어디서 많이 보던것들이 보인다..
그렇다 테이블, SP, VIEW, udf 등등... 다 존재한다... 이것들은... 데이터베이스에서 name 옆에 보이는 컬럼 ID라는 값들로 호출되거나.. 관리된다... 여기서 ID에서 100 번 밑으로는 시스템 테이블들이 사용되고.. 20000인가 그 이상의 값들은 사용자들의 객체들한테 부연된다... 정확하지는 않다.. 나도 찾아봐야하는데 귀찮다... 알고 싶으신 사람이 있다면 찾아봐라...
그리고 그 다음 컬럼 xtype은 그 객체가 무엇인지를 알려준다.. 내용은
C = CHECK 제약 조건
D = 기본값 또는 DEFAULT 제약 조건
F = FOREIGN KEY 제약 조건
L = 로그
FN = 스칼라 함수
IF = 인라인 테이블 함수
P = 저장 프로시저
PK = PRIMARY KEY 제약 조건(유형은 K)
RF = 복제 필터 저장 프로시저
S = 시스템 테이블
TF = 테이블 함수
TR = 트리거
U = 사용자 테이블
UQ = UNIQUE 제약 조건(유형은 K)
V = 뷰
X = 확장 저장 프로시저
잘 보인다... 알아서 생각하시길... ㅋㅋㅋ
일단 이 테이블 만으로도 간단하게 원하는 것들을 찾아볼 수 있다.. 프로시져가 무엇이 있는지 알고 싶으면 어떻게 하셨나????
아마도 EM을 사용하거나... 어쩌하나 방법들을 사용하셨을것이다.. 그런데 sysobjects 테이블을 이요하면 간단하게 그런 작업들을 할 수있다..
프로시져가 무엇이 있는지 알고 싶다 . ... 그러면
select name from sysobjects where xtype='P'
위 처럼 하면 된다.. 우리회사에서 한번 돌려봤더니.. 9900 개가 나왔다.. 젠장.. 언제 다들 만든건지..ㅋㅋ
위에서 봤듣이... sp_tables라는 프로시져로 테이블을 볼수 있다. 그럼 sp_procedure 라는것도 못 만들라는 법은 없다.. ㅋㅋ 일단 이건 다음 시간에 만들어 보도록 하겠다..
댓글목록
등록된 댓글이 없습니다.