를 사용하여 데이터베이스 일관성 검사 자동화

데이터베이스 무결성 검사는 데이터베이스 관리자의 가장 중요하고 중요한 작업 중 하나입니다. 데이터베이스 무결성 태스크는 모든 데이터베이스 개체 및 인덱스의 구조적 무결성과 할당을 검사합니다. 무결성 검사는 다음을 사용하여 수행할 수 있습니다. 이 명령은 데이터베이스의 손상을 식별하는 데 사용됩니다. 이 명령은 데이터베이스에서 다음 작업을 수행합니다.

  • 서비스 브로커 데이터의 유효성을 검사합니다
  • 인덱싱된 뷰의 내용을 확인합니다
  • 일반적으로 데이터베이스의 손상을 식별하는 사용자 지정 스크립트를 만듭니다. 그러나 여러 데이터베이스에서 작업하는 경우 생성된 로그를 검토하는 것이 지루해집니다. 모든 데이터베이스에서 실행되는 저장 프로시저를 만들었습니다.이 문서는 기계 번역되었으므로 어휘,구문 또는 문법에서 오류가 있을 수 있습니다 이 문서에서는 데이터베이스 일관성 검사를 자동화하는 방법에 대해 설명합니다. 설명하기 위해 여기에서 샘플 데이터베이스를 다운로드했습니다. 다음 명령을 사용하여 데이터베이스를 복원했습니다:

    1
    2
    3
    4
    5
    6
    7

    디스크에서 데이터베이스를 복원 할 수 있습니다.C:\SQL 백업이 손상되었습니다.이 작업을 수행하는 데 필요한 모든 것이 있습니다.C:\Program 파일 관리자데이터 복구이 문제를 해결하려면 다음을 수행하십시오.C:\Program 파일 관리자이 문제를 해결하려면 다음을 수행하십시오.448>

    명사로드,통계= 5

    데이터베이스가 복원되면 오류를 볼 수 있습니다.

    1
    2
    3
    4
    5

    이 문제를 해결하려면 다음 단계를 따르시기 바랍니다./////////////////////////////////////////////

    위의 이미지에서 볼 수 있듯이 데이터베이스가 손상되었으며 일관성 검사 명령에 오류가 보고되었습니다. 을 수행하는 일관성 확인,만들었는 저장 프로시저를

    1. 실행을 일관성 확인에 모든 SQL 데이터베이스를 찾으면 어떤 일관성,오류를 삽입한 이러한 오류를 임시 테이블에서
    2. 추출물에서 메시지 temp 테이블과 보는 HTML 형식의 이메일 DBA 팀

    의 코드를 저장 프로시저는 아래에 나와 있습니다:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85

    USE master
    GO
    CREATE PROCEDURE Sp_db_integrity_check
    AS
    BEGIN
    DECLARE @DBName VARCHAR(150)
    DECLARE @dbcccommand NVARCHAR(max)
    DECLARE @DBcount INT
    DECLARE @i INT = 0
    CREATE TABLE #errormsgs
    (
    error INT NULL,
    level INT NULL,
    state INT NULL,
    messagetext VARCHAR (7000) NULL,
    repairlevel INT NULL,
    status INT NULL,
    dbid INT NULL,
    dbfragid INT NULL,
    objectid INT NULL,
    indexid INT NULL,
    partitionid INT NULL,
    allocunitid INT NULL,
    riddbid INT NULL,
    ridpruid INT NULL,
    INT NULL,
    page INT NULL,
    slot INT NULL,
    refdbid INT NULL,
    refpruid INT NULL,
    reffile INT NULL,
    refpage INT NULL,
    refslot INT NULL,
    allocation INT NULL,
    )
    CREATE TABLE #userdatabases
    (
    이름 바차(500)
    )
    사용자 데이터베이스에 삽입
    시스템에서 이름
    을 선택합니다.데이터베이스
    > 4
    (2018 년 11 월 23 일,2018 년 11 월 23 일,2018 년 12 월 23 일,2018 년 12 월 23 일,2018 년 12 월 23 일,2018 년 12 월 24 일,2018 년 12 월 24 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 12 월 25 일,2018 년 2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다. 나는 내가 원하는 것을 할 수 있다고 생각하지만,나는 내가 원하는 것을 할 수 있다고 생각하지 않는다.”나는 내가 원하는 것을 할 수 있다고 생각한다.”나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.나는 내가 원하는 것을 할 수 있다고 생각한다.데이터베이스 일관성 검사 보고서에는 다음과 같은 내용이 포함되어 있습니다.: ‘
    + @@서버 이름
    설정@테이블=
    ‘ <2015 년 11 월 1 일,2015 년 11 월 15 일,2015 년 11 월 15 일,2015 년 11 월 15 일,2015 년 11 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년 12 월 15 일,2015 년; 글꼴 무게:굵게;글꼴 패밀리:초록빛;텍스트 정렬:왼쪽; 서버에서의 데이터베이스 일관성 확인의 여름’
    + @@서버 이름+'</>’+엔'<테이블 테두리=”1″>’
    + 1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170/1170>’
    + 2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 12 월 1 일,2015 년 448>

    +엔</테이블></ </본체>’
    이메일:.Sp_send_dbmail
    @profile_name=’DBMailProfile’,
    @받는 사람=’ni*********[email protected]’,
    @subject=@제,
    @중요성을=’높음’,
    @본문=@tableHTML,
    @body_format=’HTML’;

    당신이 알고있는 SQL Server 익스프레스 버전은 지원하지 않는 데이터베이스 메일,그러나 구성할 수 있는 데이터베이스 메일을 사용하여 T-SQL 쿼리를 처리합니다. 이 문서에서는 데이터베이스 메일 구성을 읽고 프로세스를 자세히 이해할 수 있습니다.

    따라서 저장 프로시저를 실행하는 배치 파일을 만들었습니다. 배치 파일의 코드는 다음과 같습니다.

    1
    2018 년 11 월 1 일-2018 년 11 월 1 일-2018 년 11 월 1 일-2018 년 11 월 1 일-2018 년 11 월 1 일-2018 년 11 월 1 일-2018 년 11 월 1 일

    텍스트 편집기에서 명령을 지정하고 파일을*로 저장합니다.박쥐 파일. 지금,우리가 윈도우 작업 일정을 사용하여 작업을 만들 수 있습니다. 제어판 열기 관리자 도구 열기 작업 스케줄러. 작업 일정에서 기본 작업 만들기를 클릭합니다. 첫 번째 화면에서 작업 및 설명의 이름을 지정합니다.

    기본 작업 화면 만들기

    기본 작업 만들기 화면

    데이터베이스 일관성 검사는 매주 수행해야하므로 작업 트리거 화면에서 주간을 지정합니다.

    작업 트리거 화면

    작업 트리거 화면

    스크립트는 매주 일요일 오전 1 시에 실행해야 하므로 시작 텍스트 상자에 01:00:00 을 지정합니다. 작업은 매주 한 번 실행해야 하므로 모든 텍스트 상자에 1 을 반복하도록 지정합니다. 일 목록에서 일요일을 선택합니다.

    주간 일정 구성 화면

    주간 일정 구성 화면

    데이터베이스 손상을 확인하기 위해 배치 스크립트를 실행 중이므로 작업 화면에서 프로그램 시작 옵션을 선택합니다.

    작업 작업 화면

    작업 작업 화면

    시작 프로그램 화면에서 배치 파일의 전체 경로를 지정합니다. 당신은 디렉토리를 통해 검색하여 파일을 찾을 수 있습니다. 우리의 경우,배치 파일은 다음과 같이 작성되었습니다.:\데이터베이스 스크립트,그래서 배치 파일의 전체 경로를 제공했습니다. 일정을 만든 사용자에게 배치 파일이 만들어진 디렉터리에 대한 읽기/쓰기 액세스 권한이 있어야 합니다. 클릭 다음.

    프로그램 시작 화면

    프로그램 시작 화면

    요약 화면에서 생성된 작업의 세부 정보를 검토할 수 있습니다. 클릭 마침.

    요약 화면

    요약 화면

    작업 일정 창에서 작업을 볼 수 있습니다. 이제 구성된 작업을 테스트 해 보겠습니다. 그렇게 하려면 데이터베이스 무결성 확인을 마우스 오른쪽 단추로 클릭하고 실행을 클릭합니다. 또는,오른쪽 팬에서 실행이라는 링크를 클릭합니다.

    작업 기록 보기

    일관성 검사 프로세스가 시작됩니다.

    프로세스가 성공적으로 완료되었습니다. 작업 일정의 작업 기록 탭에서 세부 정보를 확인할 수 있습니다.

    작업 실행 기록

    데이터베이스 일관성 오류가 포함된 이메일을 받았습니다. 이메일은 다음 이미지와 같습니다.

    일관성 오류 이메일

    요약

    이 문서에서는 데이터베이스 유지 관리 작업을 자동화하려는 엔트리 레벨 데이터베이스 관리자에게 유용할 수 있습니다. 다음 기사에서는 작업 스케줄러를 사용하여 만든 인덱스 유지 관리를 자동화하는 방법에 대해 알아보겠습니다. 계속 지켜봐 주시기 바랍니다!

    • 저자
    • 최근 게시물
    Nisarg Upadhyay
    Nisarg Upadhyay SQL 서버 데이터베이스 관리자 마이크로소프트에 의하여 증명된 전문가 8 년 이상의 경험으로 SQL 서버 관리하고 2 년과 Oracle10g 데이터베이스 관리합니다.
    그는 데이터베이스 설계,성능 튜닝,백업 및 복구,하 및 박사 설정,데이터베이스 마이그레이션 및 업그레이드에 대한 전문 지식을 보유하고 있습니다. 그는 간팟대학교에서 기술 학사 학위를 마쳤습니다. 그는 전망@니사 르구 파디 야이 87 에 도달 할 수 있습니다.컴

    니사르그 우파디야이는
    니사르그 우파디야이의 최근 글(모두 보기)
    • 다른 파일 그룹으로 테이블을 이동하는 방법-2021 년 12 월 14 일
    • 2021 년 12 월 9 일
    • 2021 년 12 월 9 일
    • 2021 년 12 월 9 일
    • 2021 년 12 월 9 일
    • 6, 2021

    Write a Comment

    이메일 주소는 공개되지 않습니다.