2009년 8월 26일 수요일

[MSSQL] 유용한 저장프로시저 카탈로그

mssql에서는 시스템 정보테이블의 정보를 통해서 유용한 정보를 한눈에 볼 수 있게 해 주는 저장 프로시저를 다수 제공하고 있습니다. 오늘은 이 저장 프로시져에는 어떤것들이 있고 어떻게 활용하는지에 대해서 알아보도록 하겠습니다.

 

역시 필자가 자주 쓰는 순서데로 나열하겠습니다.

 

1. sp_pkeys

해당 TABLE 에 대한 주키 정보를 알려주는 프로시져 입니다.

 

EX) sp_pkeys tableA

 

테이블 조인시 키값을 알기위해 일일이 사양서를 뒤져야 하는 불편함을 덜 수 있어서 엄청 자주 사용합니다.

 

2. sp_fkeys

위 저장 프로시저 처럼 참조키 정보를 알려주는 프로시져 입니다. 하지만 참조키 설정을 안잡는 테이블이 많은지라 별로 사용 안하는거 같습니다.

 

EX) sp_fkeys tableA

 

3. sp_tables

현재 데이터베이스 상의 오브젝트리스트를 알려주는 프로시져 입니다. ( 단 뷰나 테이블 같은 from 구 뒤에 쓸수 있는 오브젝트 정보만을 불러옵니다.)

 

EX) sp_tables 

      OR

      sp_tables tableA

 

4. sp_table_privileges

해당 테이블의 권한 정보를 알려줍니다. (select, insert, update, delete 권한등)

 

EX) sp_table_privileges tableA

 

5. sp_columns

해당 테이블이나 뷰의 컬럼 정보를 알려줍니다. 컬럼속성정보등이 필요할때 자주 이용합니다.

 

EX) sp_columns tableA

 

6. sp_column_privileges

해당 컬럼의 권한 정보를 알려주는데요, 거의 사용한 기억은 없는거 같군요..^^

 

EX) sp_column_privileges tableA

       OR

       sp_column_privileges tableA , ColumnA

 

7. sp_database

현재 디비서버에 존재하는 database정보와 현재 디비에서 접근이 가능한 database 리스트 정보를 제공합니다. 링크서버 걸어두면 다른 디비 서버에 존재하는 database 정보도 함께 나타납니다.

 

 

EX) use master

      sp_database

 

주의) CREATE DATABASE 권한, ALTER ANY DATABASE 권한 ,VIEW ANY DEFINITION 권한 등이 필요합니다. 그리고 원격지 databse정보를 보기 위해선 원격지 서버에 대한 접근 권한또 한 필요합니다.

 

8. sp_stored_procedures

이미 만들어진 스토어드 프로시져 정보리스트를 보여줍니다.

EX)sp_stored_procedures

     OR

     sp_stored_procedures sp_nameA

 

이 밖에도 많은 시스템 프로시져가 제공 되고 있습니다. MSDN에 더욱더 많은 정보가 있으니 참조 하시길 바랍니다.

      

 

 

 

 

 

 

 

 

 

 

 

댓글 없음:

댓글 쓰기