XP_CMDSHELL

많이 알고 있는 유명한 xp_cmdShell 님이시다.
이 분의 설명은 너무 많아. 다음 포스트로 따로 구성하기로 하고 패스 하겠다.. _(__)_;


 

XP_FILEEXIST

파일의 존재여부를 출력하는것이다. 개인적으로 무엇에다 쓰는지 모르겠다. ㅡ_-;
파일 존재여부, 파일이 경로에 존재 하는지 여부, 부모 경로 존재 여부 이렇게 3개의 컬럼으로 출력된다.


EXEC xp_fileexist 'c:\temp'


하지만, 한글 SQL에서 실행한다면 다음과 같이 컬럼이름이 짤린다.
아래와 같이 출력이 된다. 근데 ~~ !! 이걸 어디에다가 사용을 할까 ?? 음... 곰곰히 생각해 보지만서도 ^^;;


파일이 있  파일이 디렉  부모 디렉
--------  -----------  ---------
0              1                 1

 

SP_MSForEachDB

sp_MsForEachDB 시스템 저장 프로시저는 서버상의 모든 DataBase에 대해 첨부된 String을 실행할 수 있다. 여기에서 (?)기호는 실행시 마다 DataBase Name으로 대입된다.
이것은 서버상에 모든 DataBase에서 주어진 테이블을 찾는데 유용할 수 있다.
머 실제로 자주 즐겨 쓴다. 이것을 몰랐을때는 ㅡ_-; 커서를 돌렸다.


EXEC dbo.sp_MsForEachDB 'USE [?]; DBCC SHOWFILESTATS'


위와 같이 하면 어떻게 될까??
음... 그렇다... 해당 DBMS에 존재하고 있는 모든 DB에 관련하여, DB 물리적인 경로, 파일 ID, 파일그룹, 익스텐트 갯수 등 정보가 출력된다.


 SP_MSForEachTable

sp_MsForEachTable 이란? 그렇다 눈치 빠른 사람들은 아하~~!! 했을 것이다.
우린 위에서 sp_MsForEachDB을 보았다. 이것은 해당 DBMS내에 모든 데이터베이스를 찾는것이다. 그럼 sp_MsForEachTable은?? 지정된 DB에 속해있는 모든 테이블을 찾는것이다.
예제를 살펴보자.


EXEC sp_MsForEachTable 'Select top 1 * From ?'

+ Recent posts