【정리】SQLServer 조회 각종 데이터베이스 대상(표, 인덱스, 보기, 도표, 저장 과정 등)

3214 단어 sqlserver
먼저 데이터베이스 대상의 정의를 명확히 한다. 데이터베이스 대상은 데이터베이스 내용의 구조를 정의한다.그것들은 데이터베이스 프로젝트에 포함되고 데이터베이스 프로젝트는 데이터 생성 계획과 스크립트를 포함할 수 있다.
흔히 볼 수 있는 데이터베이스 대상은 표, 인덱스, 보기, 도표, 절약값, 규칙, 트리거, 저장과정, 함수 등을 포함한다.
 
1.sys.objects 보기
데이터베이스에 생성된 모든 대상은 표의 한 줄에 대응하지만 DDL 트리거를 포함하지 않습니다. 조회 트리거는sys를 사용해야 합니다.triggers
흔히 볼 수 있는 다양한 유형의 대상은sys.objects의 구분:
타입
type 열
type_desc열
FOREIGN KEY 구속
F
FOREIGN_KEY_CONSTRAINT
SQL 스칼라 함수
FN
SQL_SCALAR_FUNCTION
SQL 인라인 테이블 값 함수
IF
SQL_INLINE_TABLE_VALUED_FUNCTION
내부 테이블
IT
INTERNAL_TABLE
SQL 스토리지 프로세스
P
SQL_STORED_PROCEDURE
PRIMARY KEY 구속
PK
PRIMARY_KEY_CONSTRAINT
시스템 베이스 테이블
S
SYSTEM_TABLE
SQL 테이블 값 함수
TF
SQL_TABLE_VALUED_FUNCTION
테이블(사용자 정의 유형)
U
USER_TABLE
UNIQUE 제약 조건
UQ
UNIQUE_CONSTRAINT

V
View
 
 
 
 
 
 
 
 
 
 
 
 
 
따라서 조회 데이터베이스에 포함된 대상은sys를 직접 조회할 수 있다.objects 보기, 예를 들어 데이터베이스에 있는 모든 보기 조회
1 SELECT * FROM sys.objects WHERE type = 'U'

대상 id는 대응하는 데이터베이스에서 유일하기 때문에 조회할 때 다른 테이블이나 보기를 연결할 수 있다. 예를 들어 조회 데이터베이스에 저장된 모든 과정과 내용
1 SELECT O.name, M.definition FROM sys.objects O

2 JOIN sys.sql_modules M ON M.object_id = O.object_id

3 WHERE O.type = 'P'

 
2. 기타 조회 방법
저장 프로세스는 별도의 시스템 보기sys.procedures, 기본은sys와 같습니다.objects WHERE type = 'P'
또한 시스템 sp 조회 저장 프로세스: EXEC spstored_procedures, 다른 점은 다음과 같습니다.
sys.procedures(또는sys.objects WHERE type ='P')는 사용자 저장 프로세스만 포함하지만 spstored_procedures는 모든 종류의 저장 프로세스와 시스템 함수를 제외한 모든 함수를 조회할 수 있습니다
 
3.sys.modules 보기
SQL 언어 정의 모듈을 포함하는 모든 시스템 대상에게 FN, IF, P, PC, TF와 V 유형의 시스템 대상에 연결된 SQL 모듈을 되돌려줍니다.
따라서 이러한 유형의 객체에 대해 sys를 연결할 수 있습니다.objects 조회 대상의 언어 정의 모듈, 즉 내용입니다.
 
4.sp_helptext 주의사항
sp_helptext는 사용 빈도가 매우 높은 시스템 저장 프로세스로 지정된 이름 저장 프로세스나 함수의 내용을 신속하게 열거할 수 있지만 다음과 같은 단점이 있다.
①포맷 코드
② 한 줄의 길이가 일정을 초과하면 줄을 표시한다
이렇게 저장 프로세스나 함수를 수정할 때 sp 를 사용하면helptext는 포맷이 혼란스러워서 다음 코드 읽기에 큰 문제를 일으킬 수 있습니다.
따라서 sphelptext는 저장 프로세스나 함수의 내용만 볼 수 있습니다.
또한 암호화된 저장 프로세스는 sp 를 통과할 수 없습니다helptext 조회.
본문은 보충해야 한다.

좋은 웹페이지 즐겨찾기