안녕하세요 exterminate 입니다.
이번 포스팅은 powershell로 ms-sql을 사용하는 편 입니다.
사실 ms-sql을 사용하면서 작업을 하려고 하다 보면 부하가 있으면 gui환경에서는 너무느려서 짜증나고 쿼리분석기를 쓰자니 쿼리문도 어
렵고 해서 짜증이 솟구치는 적이 한두번이 아니였습니다. my-sql에서 사용하는 모든쿼리문이 적용되지는 않으나 콘솔 환경에서 사용할 수
있는 점이 기존의 gui환경에서 ms-sql을 사용하였을때 보다는 많이 거부감은 없을것 같다.
먼저 데이타베이스를 파워쉘로 접속하는 2가지 방법입니다.
첫번째는 ms-sql에서 해당 db의 오른쪽 클릭을하면 PowerShell 시작이라고 있습니다.
두번째 방법은 PowerShell에서 sqlps를 이용하여 접속하는 방법입니다.
sqlps는 Windows PowerShell 환경을 만든 다음 SQL Server 스냅인을 로드하고 등록하는 유틸리티입니다.
실행 하면 다음과 같이 SQLSERVER로 접속이 되게 됩니다.
데이타 베이스의 경로는 다음과 같습니다.
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2008R2 이며
MYComputer 부분은 hostname 이며 AdventureWorks2008R2은 데이타베이스 명입니다.
그러면 제가 구성해놓은 테스트 db인 sungjin 으로 접속해보겠습니다.
hostname부분은 모두 가려놓았습니다.
보시면 sungjin이라는 db에 접속한것을 확인하실수 있습니다.
여기서 ls로 하위 폴더를 보시면..
해당 db의 구성을 확인할수 있습니다... 목록을 보니..User..Views...Table이 눈에 들어오네요
그러면 Table로 이동해보겠습니다.
sungjin 데이타베이스의 구성된 테이블 목록을 확인할수 있습니다.
또한 여기서 테이블을 여러가지 쿼리문으로 실행해본 결과 입니다.
Invoke-Sqlcmd 을 이용하여 쿼리문을 실행할수 있으며 Invoke-Sqlcmd 는 sqlcmd유틸리티를 이용하여 실행할 수도 있는 쿼리문 및 스크립트를 실행할 수 있습니다.
Invoke-Sqlcmd에 대한 자세한 설명을 아래 경로를 참조해주시기 바랍니다.
http://msdn.microsoft.com/ko-kr/library/cc281720.aspx
쿼리문을 실행하기 위해선 -query를 붙여주셔야 합니다.
테이블을 검색하실땐 스키마.테이블명 으로 조회해야 합니다.
위의 boardId , boardName, fileUpload,reply 는 해당 테이블의 열 이름 입니다.
board라는 테이블에 대하여 조건을 넣어 특정행을 삭제하고 select로 출력해보는 쿼리문 이였습니다.
위와 같이 쿼리문이 실행되게 되며 테이블폴더로 이동한후 하위폴더를 확인해보도록 하겠습니다.
Columns폴더로 이동한후 출력해보면 해당 테이블의 열 이름을 확인할수 있다.
이 처럼 Powershell로 ms-sql을 사용하면 콘솔 모드 에서 사용할수 있기 때문에 편리하며
또한 폴더로 이동하면서 해당 db의 대한 정보를 확인할 수 있다는 점이 매우 편리 한것 같다.
'Powershell > Exterminate' 카테고리의 다른 글
Powershell 시스템 백업 (0) | 2010.08.04 |
---|---|
Powershell 로 프로세스 관리를 해보자! (0) | 2010.07.20 |