현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

예약 및 SQL Server express SQL Server 데이터베이스의 백업을 자동화 하는 방법

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

2019698
요약

SQL Server Express edition SQL Server 에이전트 구성 요소는 이러한 버전에 포함 되어 있지 않으므로 작업 또는 유지 관리 계획을 예약할 수 있는 방법을 제공 하지 않습니다. 따라서 이러한 버전을 사용 하는 경우 데이터베이스를 백업 하는 다른 방법을 사용 해야 합니다.   

현재 SQL Server 익스프레스 사용자가 다음 방법 중 하나를 사용 하 여 해당 데이터베이스를 백업할 수 있습니다.

SQL Server Management Studio 익스프레스를 사용 합니다. 이 SQL Server 익스프레스 고급 서비스 또는 SQL Server 익스프레스 Toolkit 함께 설치 됩니다. 자세한 내용은 다음 Microsoft 개발자 네트워크 (MSDN) 웹 사이트를 방문 하십시오.

(SQL Server)는 전체 데이터베이스 백업 만들기

  • 패밀리 데이터베이스 백업 명령 사용 하는 Transact SQL 스크립트를 사용 합니다. 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.

    백업 (관리법-SQL)

    Transact-SQL 스크립트 Windows 작업 스케줄러와 함께 사용 하 여 일정에 따라 SQL Server Express 데이터베이스의 백업을 자동화 하는 방법에 대 한 설명입니다.

  • 추가 정보

    Windows 작업 스케줄러를 사용 하 여 SQL Server 데이터베이스를 백업 하려면 다음 세 단계를 수행 해야 하는 경우:

    A 단계: 사용 SQL Server Management Studio 익스프레스 또는 Sqlcmd 마스터 데이터베이스에서 다음 저장된 프로시저를 만들려면:

    / / 저작권 ⓒ Microsoft Corporation.  모든 권리는 유보 됩니다.

    / /이 코드의 조건에 따라 출시는

    / / Microsoft 공용 사용권 (MS-PLhttp://opensource.org/licenses/ms-pl.html.)

    사용 [마스터]
    GO 
    / ****** 개체:저장 프로시저 [dbo].[sp_BackupDatabases] ****** /
    SET ANSI_NULLS ON
    이동
    SET QUOTED_IDENTIFIER ON
    이동
    -=============================================
    -작성자: Microsoft
    -작성 날짜: 2010-02-06
    -설명: sql express 데이터베이스를 백업
    -매개 변수 1: databaseName
    -매개 변수 2: backupType F = 전체, D 차등, L = 로그 =
    -매개 변수 3: 백업 파일 위치
    -=============================================
    만들기 절차 [dbo]. [[sp_BackupDatabases]
    @ databaseName sysname null =
    @ backupType 있,
    @ backupLocation nvarchar(200)
    AS
    설정 NOCOUNT ON; 
               
               DECLARE @DBs TABLE
               (
                      ID int IDENTITY PRIMARY KEY,
                     DBNAME nvarchar(500)
               )
               
                -- Pick out only databases which are online in case ALL databases are chosen to be backed up
                -- If specific database is chosen to be backed up only pick that out from @DBs
               INSERT INTO @DBs (DBNAME)
               SELECT Name FROM master.sys.databases
               where state=0
               AND name=@DatabaseName
               OR @DatabaseName IS NULL
               ORDER BY Name
               
               -- Filter out databases which do not need to backed up
               IF @backupType='F'
                     BEGIN
                     삭제 @ DBs 위치 DBNAME IN ('tempdb', 'Northwind' 'pubs', 'AdventureWorks')
    최종
    ELSE IF @ backupType = 했습니다 '
    시작
    삭제 @ DBs 위치 DBNAME IN ('tempdb', 'Northwind', 'pubs' '마스터', 'AdventureWorks')
    ELSE IF @ backupType 'L' =
    시작
    삭제 @ DBs 위치 DBNAME IN ('tempdb', 'Northwind', 'pubs' '마스터', 'AdventureWorks')
    ELSE
    시작
    반환
    -변수 선언
    BackupName 선언 @ varchar(100)
    선언 @ BackupFile varchar(100)
    @ DBNAME 선언 varchar(300)
    DECLARE @ sqlCommand NVARCHAR(1000)
    DECLARE @ NVARCHAR(20) dateTime
    @ 루프 선언 int
    -데이터베이스를 하나씩 반복
    @ 루프 선택 min(ID) FROM @ DBs =
    WHILE 루프 IS NOT NULL @
    시작
    -일부 있으므로-[dbname] 형식 또는 _ 자신의 이름에 데이터베이스 이름에
         설정 @ DBNAME ' ['+(SELECT DBNAME FROM @DBs WHERE ID = @Loop) ']' = +
    -현재 날짜와 시간 n yyyyhhmmss 형식 설정
    집합 @ dateTime 바꾸기 = (변환 (VARCHAR GETDATE(),101),'/','') + '_' +교체 (변환 (VARCHAR, GETDATE(),108),':','')
    -path\filename.extension 형식의 전체, 차등 및 로그 백업에 대 한 백업 파일 만들기
    backupType @ = 'F' 경우
    @ BackupFile 설정 = backupLocation + 바꾸기 @ (교체 (@ DBNAME, ' [', '),'] ', ') '_FULL_' + @ dateTime + '.BAK'
    ELSE IF @ backupType = 했습니다 '
    설정 @ BackupFile = backupLocation + 바꾸기 @ (교체 (@ DBNAME, ' [', '),'] ', ') '_DIFF_' + @ dateTime + + '.BAK'
    ELSE IF @ backupType 'L' =
    설정 @ BackupFile = backupLocation + 바꾸기 @ (교체 (@ DBNAME, ' [', '),'] ', ') '_LOG_' + @ dateTime + + '.TRN'
    -백업 미디어에 저장 하는 것에 대 한 이름을 제공
    backupType @ = 'F' 경우
    @ BackupName 설정 REPLACE(REPLACE(@DBNAME,'[',''),']','') = +' 전체 백업에 대 한 ' + @ dateTime
    @ backupType = 경우 했습니다 '
    @ BackupName 설정 REPLACE(REPLACE(@DBNAME,'[',''),']','') = +' 차등 백업에 대 한 ' + @ dateTime
    backupType @ 'L' = 경우
    @ BackupName 설정 REPLACE(REPLACE(@DBNAME,'[',''),']','') = +' 로그 백업에 대 한 ' + @ dateTime
    -생성 동적 SQL 명령을 실행할 수
    backupType @ = 'F' 경우
    시작
    집합 @ sqlCommand 데이터베이스 백업 ' +@DBNAME+ =' 디스크 = ' ' +@BackupFile+ ' ' 초기화를, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
                     END
          IF @backupType = 'D'
                     BEGIN
                  SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH DIFFERENTIAL, INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'        
                     END
          IF @backupType = 'L' 
                     BEGIN
                  SET @sqlCommand = 'BACKUP LOG ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'        
                     END
     
    -- Execute the generated SQL command
          EXEC(@sqlCommand)
     
    -- Goto the next database
    SELECT @Loop = min(ID) FROM @DBs where ID > 루프 @

    B 단계: 텍스트 편집기에서, Sqlbackup.bat 라는 배치 파일을 만들고 다음 텍스트를 다음 예제 중 하나에서 시나리오에 따라 해당 파일을 복사 합니다.

    Example1:Windows 인증을 사용 하 여 sql EXPRESS의 로컬 명명 된 인스턴스에 있는모든 데이터베이스의 전체 백업

    / / Sqlbackup.bat

    sqlcmd S. \EXPRESS-E-Q "EXEC sp_BackupDatabases @ backupLocation = 했습니다: \SQLBackups\', = 'F' @ backupType" 

    Example2:로컬 명명 된 인스턴스는 SQLLogin 및 해당 암호를 사용 하 여 sql EXPRESS의모든 데이터베이스의 차등 백업

    / / Sqlbackup.bat

    sqlcmd-U SQLLogin P 암호-S. \SQLEXPRESS-Q "EXEC sp_BackupDatabases@ backupLocation 'D:\SQLBackups' =, = @ BackupType 했습니다 '"

    참고: SQLLogin shouldhave에 SQL Server 최소 백업 운영자 역할.


    예제 3:Windows 인증을 사용 하 여 sql EXPRESS의 로컬 명명 된 인스턴스의모든 데이터베이스에서에서 로그 백업

    / / Sqlbackup.bat

    sqlcmd S. \SQLEXPRESS-E-Q "EXEC sp_BackupDatabases @ backupLocation='D:\SQLBackups\',@backupType='L'"

    예제 4:Windows 인증을 사용 하 여 로컬 명명 된 인스턴스의 sql EXPRESS에 남도록 데이터베이스의 전체 백업

    / / Sqlbackup.bat

    sqlcmd S. \SQLEXPRESS-E-Q "EXEC sp_BackupDatabases @ backupLocation = 했습니다: \SQLBackups\', '남도록' @ databaseName =, @ backupType = 'F'"

    마찬가지로 차등 붙여넣어 남도록의 백업 수에 '@ backupType 매개 변수 및 로그 백업 남도록 'L' @ backupType 매개 변수를 넣어.

    단계 c:B 단계에서 만든 배치 파일을 실행 하려면 Windows 작업 스케줄러를 사용 하 여 작업을 예약이렇게 하려면 다음이 단계를 수행 하십시오.:

    1. SQL Server Express를 실행 하는 컴퓨터에서시작, 모든 프로그램, 보조프로그램을 차례로, 시스템 도구차례로 누른 다음 작업을 예약 합니다. 
    2. 두 번추가 예약 작업. 
    3. 예약 작업 마법사에서다음을 클릭 합니다. 
    4. 찾아보기를 클릭, B 단계에서 만든 배치 파일을 클릭 한 다음 열기를 클릭 합니다. 
    5. SQLBACKUP 작업의 이름을 입력 하 고매일, 다음을 클릭 합니다. 
    6. 작업을 실행 하는 일정에 대 한 정보를 지정 합니다. (이 작업은 매일 적어도 한 번 실행 하는 좋습니다.)다음을 클릭 합니다.
    7. 사용자 이름 입력 필드에 사용자 이름을 입력 한 다음암호 입력 필드에 암호를 입력 합니다.

      참고 1, 3 또는 4 예제 배치 파일 중 하나를 사용 하는 경우이 사용자가 적어도 BackupOperator SQL Server 수준에서 역할을 할당 되어야 합니다.
    8. 다음을 클릭 한 다음마침을 클릭 합니다. 
    9. 적어도 한 번 예약 된 작업을 실행 백업을 성공적으로 만들어졌는지 확인 합니다.

      참고폴더 SQLCMD 실행 파일에 대 한 일반적으로 서버에 대 한 경로 변수 SQL Server 설치 후 Path 변수에이 폴더에 나타나지 않을 경우 < 설치 위치 > \90\Tools\Binn 에서 찾을 수 있습니다입니다 (예: C:\Program 상자 SQL Server\90\Tools\Binn).

      이 문서에서 설명 하는 절차를 사용 하면 다음을 고려해 야 합니다.

      • Windows 작업 스케줄러 작업이 실행 되도록 예약 된 시간에 실행 되어야 합니다. 이 서비스의 시작 유형을자동으로 설정 하는 것이 좋습니다. 이렇게도 다시 시작할 때 서비스가 실행 됩니다.
      • 는 백업이 작성 중인 드라이브 공간을 많이 해야 합니다. 디스크 공간이 부족 해지지 않습니다 있는지 정기적으로 백업 폴더에서 오래 된 파일을 청소 하는 것이 좋습니다. 스크립트 이전 파일을 정리 하는 논리가 없습니다.

      추가 참조

    경고: 이 문서는 자동 번역되었습니다

    속성

    문서 ID: 2019698 - 마지막 검토: 06/28/2012 23:52:00 - 수정: 1.0

    • kbmt KB2019698 KbMtko
    피드백