database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1743 게시물 읽기
No. 1743
Sql 초보 질문입니다.
작성자
노승현(shroh74)
작성일
2005-01-18 19:03
조회수
7,209

아래의 execute 문은 DB 유지관리 계획이라고 해놓은 스케줄에 있는 내용인데요..해석이 안되서..고수님들의 가르침을 얻고자 합니다.

그럼 오늘도 좋은 하루 마감하세여..^^

 

EXECUTE master.dbo.xp_sqlmaint N'-PlanID 8859EBC0-DDCF-4116-AC7C-51E3102A4979 -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB "D:\week_backup" -CrBkSubDir -BkExt "BAK"'

이 글에 대한 댓글이 총 2건 있습니다.

sqlmaint 프로그램을 이용해서 DB를 백업한다는 내용입니다.

자세한건 다음을 참고하세요. :)

(참고로, MsSQL도움말에 들고왔습니다^^)

 

-----------------------------------------------------------

 

-?

 

sqlmaint에 대한 구문 다이어그램을 반환하도록 합니다. 이 매개 변수는 단독으로 사용해야 합니다.

 

-S server_name[\instance_name]

 

Microsoft® SQL Server™ 2000의 대상 인스턴스를 지정합니다. 해당 서버에 있는 SQL Server 2000의 기본 인스턴스에 연결할 server_name을 지정하십시오. 해당 서버에 있는 SQL Server 2000의 명명된 인스턴스에 연결할 server_name\instance_name을 지정하십시오. 서버를 지정하지 않으면 sqlmaint가 로컬 컴퓨터에 있는 SQL Server 2000의 기본 인스턴스에 연결합니다.

 

-U login_ID

 

서버에 연결할 때 사용할 로그인 ID를 지정합니다. 이 인수를 지정하지 않으면, sqlmaint가 Windows 인증을 사용하려고 합니다. login_ID에 특수 문자가 들어 있으면 특수 문자를 큰 따옴표(")로 묶어야 합니다. 아니면 큰따옴표를 생략할 수 있습니다.

 

-P password

 

로그인 ID에 대한 암호를 지정합니다. -U 매개 변수를 지정한 경우만 유효합니다. password에 특수 문자가 들어 있으면 특수 문자를 큰따옴표(")로 묶어야 합니다. 아니면 큰따옴표를 생략할 수 있습니다.

 

-D database_name

 

유지 관리 작업을 수행할 데이터베이스의 이름을 지정합니다. database_name에 특수 문자가 들어 있으면 특수 문자를 큰 따옴표(")로 묶어야 합니다. 아니면 큰따옴표를 생략할 수 있습니다.

 

-PlanName name

 

데이터베이스 유지 관리 계획 마법사를 사용하여 정의한 데이터베이스 유지 관리 계획의 이름을 지정합니다. sqlmaint가 데이터베이스 유지 관리 계획에서 사용하는 정보는 데이터베이스 목록뿐입니다. 다른 sqlmaint 매개 변수에 지정하는 유지 관리 작업이 이 데이터베이스 목록에 적용됩니다. SQL Server 엔터프라이즈 관리자에서 계획 이름을 가져올 수 있습니다.

 

-PlanID guid

 

데이터베이스 유지 관리 계획 마법사를 사용하여 정의한 데이터베이스 유지 관리 계획의 전역 고유 식별자(GUID)를 지정합니다. sqlmaint이 데이터베이스 유지 관리 계획에서 사용하는 정보는 데이터베이스 목록뿐입니다. 다른 sqlmaint 매개 변수에 지정하는 유지 관리 작업이 이 데이터베이스 목록에 적용됩니다. 이 값은 msdb.dbo.sysdbmaintplans의 plan_id 값과 일치해야 합니다.

 

-Rpt text_file

 

보고서가 생성될 파일의 전체 경로 및 이름을 지정합니다. 화면에서 보고서를 생성할 수도 있습니다. 보고서에서는 파일 이름에 날짜를 추가하는 방식으로 버전 정보를 유지 관리합니다. 날짜는 파일 이름과 마침표 사이에 _yyyyMMddhhm(Yyyy = 년, MM = 월, dd = 일, hh = 시, mm = 분) 형식으로 생성됩니다.

 

예를 들어, 1996년 12월 1일 10:23 A.M.에 유틸리티를 실행하고 text_file 값이 다음과 같은 경우

 

c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.rpt

 

다음과 같은 파일 이름이 생성됩니다.

 

c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint_199612011023.rpt

 

sqlmaint가 원격 서버에 액세스할 때 text_file에 대한 전체 UNC 파일 이름이 필요합니다.

 

-To operator_name

 

생성된 보고서를 SQL 메일을 통해 보낼 때 이 보고서를 받을 운영자를 지정합니다. SQL Server 엔터프라이즈 관리자를 사용하여 운영자를 정의할 수 있습니다.

 

-HtmlRpt html_file

 

HTML 보고서가 생성될 파일의 전체 경로 및 이름을 지정합니다. sqlmaint는 -Rpt 매개 변수에서처럼 _yyyyMMddhhmm 형식의 문자열을 파일 이름에 추가하여 파일 이름을 생성합니다.

 

sqlmaint가 원격 서버에 액세스할 때 html_file에 대해 전체 UNC 파일 이름이 필요합니다.

 

-DelHtmlRpt

 

보고서 파일을 만든 후의 시간 간격이 를 초과하면, 보고서 디렉터리에 있는 HTML 보고서를 모두 삭제합니다.

 

-DelHtmlRpt는 이름이 html_file 매개 변수에서 생성한 패턴과 일치하는 파일을 찾습니다. html_file이 C:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.htm일 때 –DelHtmlRpt를 사용하면 sqlmaint가 이름이 C:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint*.htm 패턴과 일치하고 지정한 보다 오래된 파일을 모두 삭제합니다.

 

-RmUnusedSpace threshold_percent free_percent

 

-D에서 지정한 데이터베이스에서 사용하지 않는 공간을 제거합니다. 이 옵션은 자동으로 증가하도록 정의한 데이터베이스에서만 사용할 수 있습니다. Threshold_percent에는 데이터베이스가 어떤 크기에 도달했을 때 sqlmaint가 사용하지 않는 데이터 공간의 제거를 시도할 수 있는지를 메가 바이트 단위로 지정합니다. 데이터베이스의 크기가 threshold_percent보다 작으면 어떤 작업도 수행하지 않습니다. Free_percent에는 사용하지 않는 공간을 얼마나 데이터베이스에 남겨두어야 하는지를 데이터베이스의 최종 크기 비율로 지정합니다. 예를 들어, 200MB 크기의 데이터베이스에 100MB의 데이터가 있을 때 free_percent에 10을 지정하면 최종 데이터베이스 크기가 110MB가 됩니다. 데이터베이스가 free_percent에 데이터 크기를 더한 값보다 작으면 데이터베이스가 확장되지 않습니다. 예를 들어, 108MB 크기의 데이터베이스에 100MB의 데이터가 있을 때 free_percent에 10을 지정하면 데이터베이스가 110MB로 확장되지 않고 108MB로 유지됩니다.

 

-CkDB | -CkDBNoIdx

 

-D에 지정한 데이터베이스에서 DBCC CHECKDB 문 또는 NOINDEX 옵션을 지정한 DBCC CHECKDB 문을 실행합니다. 자세한 내용을 보려면 DBCC CHECKDB를 참조하십시오.

 

sqlmaint가 실행될 때 데이터베이스가 사용 중이면 text_file에 경고 메시지가 기록됩니다.

 

-CkAl | -CkAlNoIdx

 

-D에 지정한 데이터베이스에서 DBCC NEWALLOC 문 또는 NOINDEX 옵션을 지정한 DBCC NEWALLOC 문을 실행합니다. 자세한 내용을 보려면 DBCC NEWALLOC을 참조하십시오.

 

-CkCat

 

-D에 지정한 데이터베이스에서 DBCC CHECKCATALOG 문을 실행합니다. 자세한 내용은 DBCC CHECKCATALOG를 참조하십시오.

 

-UpdOptiStats sample_percent

 

데이터베이스의 각 테이블에서 다음 문이 실행됩니다.

 

UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT

 

자세한 내용은 UPDATE STATISTICS를 참조하십시오.

 

-RebldIdx free_space

 

free_space 비율을 채우기 비율의 역으로 사용하여 대상 데이터베이스의 테이블에서 인덱스를 다시 작성합니다. 예를 들어, free_space 비율이 30이면, 채우기 비율 70이 사용됩니다. free_space 비율이 100이면 원래 채우기 비율로 인덱스를 다시 작성합니다.

 

-WriteHistory

 

sqlmaint가 수행하는 유지 관리 작업마다 msdb.dbo.sysdbmaintplan_history에 항목을 만들도록 지정합니다. -PlanName 또는 -PlanID를 지정하면 sysdbmaintplan_history 항목이 지정한 계획의 ID를 사용합니다. -D를 지정하면 sysdbmaintplan_history에 계획 ID가 0인 항목이 만들어집니다.

 

-BkUpDB [backup_path] | -BkUpLog [backup_path]

 

백업 동작을 지정합니다. -BkUpDb는 전체 데이터베이스를 백업합니다. -BkUpLog는 트랜잭션 로그만 백업합니다.

 

[backup_path]에 백업 디렉터리를 지정합니다. -UseDefDir를 함께 지정하는 경우는 [backup_path]가 필요하지 않습니다. [backup_path]와 -UseDefDir를 모두 지정하면 -UseDefDir이 우선합니다. 디렉터리 또는 테이프 장치 주소(예를 들어, \\.\TAPE0)에 백업본을 둘 수 있습니다. 데이터베이스 백업에 사용하는 파일 이름이 다음과 같은 형식으로 자동으로 생성됩니다.

 

dbname_db_yyyyMMddhhmm.BAK

 

여기서

 

dbname은 백업되는 데이터베이스의 이름입니다.

 

 

yyyyMMddhhmm은 백업 작업 시간입니다. yyyy는 년, MM은 월, dd를 일, hh는 시간, mm은 분을 나타냅니다.

트랜잭션 백업에 사용하는 파일 이름이 다음과 같은 형식으로 자동으로 생성됩니다.

 

dbname_log_yyyymmddhhmm.BAK

 

-BkUpDB 매개 변수를 사용하는 경우는 -BkUpMedia 매개 변수를 사용하여 미디어도 지정해야 합니다.

 

-BkUpMedia

 

백업에 사용할 미디어 유형을 지정합니다.

 

DISK

 

디스크를 백업 미디어로 사용합니다.

 

-DelBkUps

 

백업본을 만든 후의 시간 간격이 를 초과하면 백업 디렉터리에 있는 백업 파일을 모두 삭제합니다.

 

-CrBkSubDir

 

-UseDefDir를 함께 지정하는 경우에는 기본 백업 디렉터리에 하위 디렉터리를 만들고, 아니면 [backup_path]에 하위 디렉터리를 만듭니다. -D에 지정한 데이터베이스 이름으로부터 하위 디렉터리 이름이 생성됩니다. -CrBkSubDir을 사용하면, [backup_path] 매개 변수를 변경하지 않고 다른 데이터베이스의 모든 백업본을 별개의 하위 디렉터리에 둘 수 있습니다.

 

-UseDefDir

 

기본 백업 디렉터리에서 백업 파일을 만듭니다. UseDefDir와 [backup_path]를 모두 지정하면 UseDefDir이 우선합니다. 기본 SQL Server 2000 설정을 사용하면 기본 백업 디렉터리는 c:\Program Files\Microsoft SQL Server\Mssql\Backup입니다.

 

TAPE

 

테이프를 백업 미디어로 사용합니다.

 

-BkUpOnlyIfClean

 

지정한 -Ck 검사에서 데이터 관련 문제를 발견하지 못할 때만 백업을 수행하도록 합니다. 유지 관리 동작은 명령 프롬프트에 나타나는 순서대로 실행됩니다. BkUpOnlyIfClean을 지정하는 경우, -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl 또는 -CkCat 매개 변수를 -BkUpDB/-BkUpLog 매개 변수 앞에 지정하십시오. 그렇지 않으면, 검사에서 문제를 보고했는지 여부에 상관 없이 백업을 수행하게 됩니다.

 

-VrfyBackup

 

백업이 완료되면 백업에 대해 RESTORE VERIFYONLY가 실행되도록 지정합니다.

 

number[minutes | hours | days | weeks | months]

 

보고서 또는 백업 파일이 삭제되는 기간을 나타내는 시간 간격을 지정합니다. number는 정수입니다. 유효한 예로 12weeks, 3months 및 15days를 들 수 있습니다. number만 지정하면 기본 날짜를 weeks로 사용합니다.

 

정호용(egnes)님이 2005-01-19 13:08에 작성한 댓글입니다.

감사합니다. 큰 도움이 되었습니다. 항상 좋은 일만 있으시길...*^^*

노승현(shroh74)님이 2005-01-19 15:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1746[질문]왕초보인데 2개의 크기가 다른테이블에서 데이타추출 [1]
Mr.GoldLee
2005-01-21
2451
1745데이터를 가져올때 [3]
오혜인
2005-01-21
3385
1744트리거의 발생 시점이 궁금합니다. [3]
아도니스
2005-01-19
3872
1743Sql 초보 질문입니다. [2]
노승현
2005-01-18
7209
1742프로시져 에러를 잡을 수가 없네요...도와주세요... [2]
코더안
2005-01-17
3832
1740bcp로 데이타 out시 일부 문자가 깨집니다.
dba
2005-01-14
2636
1739tree구조를 표현하려구하는데요. [1]
sean
2005-01-12
4385
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다