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

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

      추가 참조

    속성

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

    피드백 보내기

     

    Contact us for more help

    Contact us for more help
    Connect with Answer Desk for expert help.
    Get more support from smallbusiness.support.microsoft.com