랭귀지/python
파이썬으로 Microsoft SQL 서버 스크립트하기
유키공
2017. 12. 17. 14:01
Microsoft SQL 서버가 있다면, 이런 상황을 맞이해 보았을 것이다.
«Enterprise Manager (일명 MMC) 에서 모든 클릭을 스크립트할 수 있다면 얼마나 좋을까!».
할 수 있다 ! MMC로 할 수 있는 것이면 무엇이든 파이썬으로 스크립트할 수 있다.
win32all 파이썬 모듈만 있으면 파이썬에서 COM 객체에 접근할 수 있다
(win32all 모듈은 ActiveState사의 파이썬 배포본으로도 제공된다)
일단 설치했으면, 그냥 SQL-DMO 객체를 사용하자.
예를 들어, 서버에 있는 데이터베이스 리스트를 얻자:
from win32com.client import gencache s = gencache.EnsureDispatch('SQLDMO.SQLServer') s.Connect('servername','login','password') for i in range(1,s.Databases.Count): print s.Databases.Item(i).Name
또는 테이블 스크립트를 얻자:
database = s.Databases('COMMERCE') script = database.Tables('CLIENTS').Script() print script