• Increase font size
  • Default font size
  • Decrease font size
T - SQL을 스크립트 개체의 모든 데이터베이스와

스크립트 개체의 모든 데이터베이스와

전자 메일 인쇄
(0 표)

file_sharing_up_128 데이터베이스 개체를 스크립팅에 대한 이전의 문서에 따라, 그 스크립트는 데이터베이스 스크립트 자동 및 폴더에 기록 저장 프로 시저를 만들었습니다. 이 스크립트는 SQL Server 2005에서 만들어집니다. 이것은 유용하기 때문에 현재 테이블에있는 모든 개체와 같은 저장 프로 시저, 뷰 및 함수 스크립트 그것이다.

  [ dbo ] . [ sp_GenDBscript ] 작성 절차는 [dbo가]. [Sp_GenDBscript]를
  ( 150 ) -- Bijv: 'D:\SQLDATA\' @ 백업 경로 VARCHAR (150) - 예 : "패 : \ Sqldata \ '
 있는 그대로 

 / * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ 
  SPC 목적 : 생성 스크립트 데이터베이스의 모든 개체 
  작성자 : 로널드 Kraijesteijn을 
  만든날짜 : 2010년 3월 
  업데이트 : 엑스 
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ 
  필요 : 
  http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=56e5b1c5-bf17-42e0-a410-371a838e570a&displayLang=en 

   
  EXEC의 sp_GenDBscript '개발 : \ Sqldata' 

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ ~ * /를

  하는 BEGIN
  설정의 NOCOUNT 켜기

  @ PATH AS VARCHAR ( 150 ) 경로로 VARCHAR @ 공표할 (150)
  @CMD AS VARCHAR ( 150 ) ) 150 그대로 공표할 @ CMD를 VARCHAR를 (
  @Param AS VARCHAR ( 150 ) ) 150 그대로 공표할 @ Params VARCHAR (
  @ SQL AS VARCHAR ( 256 ) SQL 그대로 VARCHAR @ 공표할 (256)
  @ DATE AS VARCHAR ( 10 ) 일자로 VARCHAR @ 공표할 (10)
  @TextFile AS VARCHAR ( 150 ) 텍스트 파일로 @ 공표할 VARCHAR (150)
  @MkdirStr AS VARCHAR ( 150 ) MkdirStr 그대로 VARCHAR @ 공표할 (150)
  @ TIME AS VARCHAR ( 150 ) 있는 시간이 VARCHAR @ 공표할 (150)
  @ DATABASE AS VARCHAR ( 150 ) 데이터베이스로 VARCHAR @ 공표할 (150)
  @RC AS INT INT를 RC 그대로 공표할 @ 

  @ TIME = REPLACE ( CONVERT ( VARCHAR , GETDATE ( ) , 114 ) , ':' , '' ) 세트 @ 시간 = ':','') 바꾸기 (CONVERT (VARCHAR, getdate (), 114),
  @ DATE = CONVERT ( VARCHAR , GETDATE ( ) , 112 ) 설정 @ 날짜는 =) CONVERT (VARCHAR, getdate (), 112
  @ PATH = '"C: \P rogram Files \M icrosoft SQL Server \9 0 \T ools \P ublishing \S qlPubWiz.exe"' @ 설정의 PATH는 = "는"C : \ 피 "9 0 \ T의 ools을 \ ublishing 피 \ S를 qlPubWiz.exe을에서"SQL icrosoft rogram 파일 \ 남 서버 \

 목록의 데이터베이스를 얻기 -
  CUR_DB CURSOR 공표할 커서 CUR_DB
  [ name ] ]를 선택 [이름
  sys. databases 시스템 기술자로부터. 데이터베이스
  [ name ] NOT IN ( 'master' , 'tempdb' , 'model' , 'msdb' , [이름]어디로 ( '마스터', 'tempdb를', '모델', 'msdb를',
  , 'ReportServerTempDB' ) "보고서 서버", "ReportServerTempDB을 ')

 - 각 대본 데이터베이스를 만들
  CUR_DB 오픈 CUR_DB
  CUR_DB INTO @ DATABASE FETCH 반했어요 @ CUR_DB 데이터베이스
  @@FETCH_STATUS = 0 0 이왕 @ @ FETCH_STATUS =
  하는 BEGIN 
  @MkdirStr = 'mkdir ' + @BackupPath + ' \' + @Database + ' \script ' 세트 @ MkdirStr = '에서 mkdir'+ @ 백업 경로 + '\'+ @ 데이터베이스 + '\ 스크립트  
   _ ' + @Date + ' _ ' + @Time + ' . SQL ' SET를 텍스트 파일 @ = @ 데이터베이스 + '_'+ @ 날짜 + '_'+ @ 시간 + '. SQL " 
   script ' + @BackupPath + ' \ ' + @Database + ' \script\ ' + @TextFile 세트 @ Param = '스크립트'+ @ 백업 경로 + '\'+ @ 데이터베이스 + '\ 스크립트 \ "+ @ 텍스트 파일 
   -schemaonly -d ' + @Database + "스키마 전용 - d는 '+ @ 데이터베이스  
   세트 @ SQL = @ 경로 + @ Param  

   DIR을 만들기, -, 선택하면 DIR은 존재하지면  
   EXEC @ RC = @ master.dbo.xp_cmdshell MkdirStr, NO_OUTPUT 

   - 백업 만들기 
   ## START scripting DATABASE : %s ## ', 10, 0, @Database ) WITH NOWAIT ; RAISERROR ( '# # 시작 데이터베이스 스크립팅 : % s의 # #', 10, 0, @ 데이터베이스)와 nowait;  
   EXEC @ RC = 마스터의 .. xp_cmdshell을 @ SQL에 no_output 
   0면 @ RC <> 
   An Error occured WHILE scripting DATABASE : ' + @Database 정자로 '오류가 데이터베이스를 발생 스크립팅 이왕 :'+ @ 데이터베이스를 

   ## Done scripting DATABASE : %s ## ', 10, 0, @Database ) WITH NOWAIT ; RAISERROR ( '# # 데이터베이스를 완료 스크립팅 : % s의 # #', 10, 0, @ 데이터베이스)와 nowait; 
   CUR_DB 어디로 FETCH의 @ 데이터베이스 
    
   닫기 CUR_DB 
   찾습니다 CUR_DB을 처리  

    







저작권 2008. 판권 소유.

트랙백 (0)

트랙백 URI가 게시물에 대한이

댓글 (0)

RSS 피드 댓글

덧글 쓰기

대담한 이탤릭체로 인쇄하다 밑줄 스트라이크 홈페이지 영상 시세 smile wink laugh grin angry sad shocked cool tongue kiss cry
| groter 더 작은 더 큰 |
보안 이미지
쓰기 표시된 문자

바쁜