반응형

본 프로그램은 전체 데이터베이스, 특정 데이터베이스 혹은 특정 테이블에 대해 DDL 스크립트를 생성해주는 프로그램이다. 물론 Enterprise Manager(2000 버전 이전), SQL Server Managment Studio(2005 버전 이후)의 스크립트 생성을 이용해서 생성 가능하지만 정기적으로 스크립트를 백업하고 배포하는 상황이라면 이 프로그램이 상당히 유용하게 사용될 수 있을 것 같다. 원래는 총 3개의 프로그램으로 이루어져 있으나, 블로그 주인장이 개인적인 용도로 사용하기 위해 만든 Windows 배치 프로그램(5. 배치프로그램 설명 참조)을 작성하여 추가해 두었다. 그리고 필요하다면 SQL Agent Job에 등록하여 정기적으로 백업해도 유용할 것이다. 또한 이 프로그램은 오픈 소스(1. 프로그램 정보 참조)로써 자신의 구미에 맞게 수정해서 사용할 수 있다.

 

 

1. 프로그램 정보

  

2. 프로그램 구성

  • ScriptAllDBs.exe
  • ScriptDB.exe
  • ScriptTable.exe
  • ScriptAllDBs.bat
  • ScriptDB.bat
  • ScriptTable.bat

  

3. 생성되는 스크립트 종류

  • Database
  • Database Triggers
  • Functions
  • Security
  • Stored Procedures
  • Synonyms
  • Tables
  • Types
  • Views  

 

4. 프로그램 설명

  • ScriptAllDBs.exe
    Comment 서버 인스턴스 내에 있는 전 데이터 베이스에 대한 DDL 스크립트를 작성한다.
    Syntax ScriptAllDBs <Directory_name> <Server_name> [Login <Password>]
    Example DBServer1라는 서버의 전 데이터베이스에 대해 DDL스크립트를 D:Temp에 작성하고자 하는 경우

    D:>ScriptAllDBs D:Temp DBServer1 user password
    or
    D:>ScriptAllDBs D:Temp 192.168.xxx.xxx user password
  • ScriptDB.exe
    Comment 서버 인스턴스 내에 있는 특정 데이터 베이스에 대한 DDL 스크립트를 작성한다.
    Syntax ScriptDB <Directory_name> <Server_name> <Database_name> [Login <Password>]
    Example DBServer1라는 서버의 AdventureWorks 데이터베이스에 대해 DDL스크립트를 D:Temp에 작성하고자 하는 경우

    D:>ScriptDB D:Temp DBServer1 AdventureWorks user password
    or
    D:>ScriptDB D:Temp 192.168.xxx.xxx AdventureWorks user password
  • ScriptTable.exe
    Comment 서버 인스턴스 내에 잇는 특정 데이터 베이스의 특정 테이블에 대한 DDL 스크립트를 작성한다.
    Syntax ScriptTable <Directory_name> <Server_name> <Database_name> <Owner_name(Schema).Table_name> [Login <Password>]
    Example DBServer1라는 서버의 AdventureWorks 데이터베이스의 Person.Address 테이블에 대해 DDL스크립트를 D:Temp에 작성하고자 하는 경우

    D:>ScriptAllDBs D:Temp DBServer1 AdventureWorks Person.Address user password
    or
    D:>ScriptAllDBs D:Temp 192.168.xxx.xxx AdventureWorks Person.Address user password
     
5. 배치 프로그램 설명
  • ScriptAllDBs.bat
    ScriptAllDBs.exe을 실행한다. 작성된 스크립트는 기본적으로 D:MSSQLServerScriptBackupAllDBScript 아래에 작성된다. 디렉토리를 변경하고 싶은 경우 배치 파일의 SET DirName=D:MSSQLServerScriptBackupAllDBScript%DateStr% 부분을 수정한다.
     
  • ScriptDB.bat
    ScriptDB.exe을 실행한다. 작성된 스크립트는 기본적으로 D:MSSQLServerScriptBackupDBScript 아래에 작성된다. 디렉토리를 변경하고 싶은 경우 배치 파일의 SET DirName=D:MSSQLServerScriptBackupDBScript%DateStr% 부분을 수정한다.
     
  • ScriptTable.bat
    ScriptTable.exe을 실행한다. 작성된 스크립트는 기본적으로 D:MSSQLServerScriptBackupTableScript 아래에 작성된다. 디렉토리를 변경하고 싶은 경우 배치 파일의 SET DirName=D:MSSQLServerScriptBackupTableScript%DateStr% 부분을 수정한다.
     

6. 실행 예

①ScriptAllDBs.bat을 클릭하여 배치 프로그램을 실행한다.

 

②입력 변수에 값을 입력한다.


 

③Enter키를 눌러 스크립트 작성 프로그램을 실행한다.   

프로그램 실행 화면1


 

프로그램 실행 화면 2 


 

작성이 완료되면 아래와 같이 배치 프로그램에서 설정된 디렉토리에 오브젝트별로 각각의 스크립트가 작성된다.


 

반응형

+ Recent posts