서버 유지 관리 6부: SQL 유지 관리 계획 작성

데이터베이스 및 트랜잭션 로그 파일 크기를 작게 유지하고 불일치가 발생하지 않았는지 데이터베이스를 확인하는 것과 같이 데이터베이스가 잘 작동하고 있는지 확인하는 데 필요한 작업을 스케줄링하기 위해 케어 플랜을 사용할 수 있습니다.

Autodesk에서는 주 1회 이상, 사무실을 사용하지 않는 시간에 유지 관리 계획을 실행할 것을 권장합니다.

연결된 작업그룹 환경에서는 각 SQL 서버에 대해 유지 관리 계획을 구성해야 합니다.

관리자 작업의 일환으로 유지 관리 계획이 성공적으로 실행되었는지 정기적으로 확인해야 합니다.

유지 관리 계획이 Vault 서버의 이전 릴리즈에 대해 구성된 경우 이 문서에 따라 유지 관리 계획을 확인하고 업데이트해야 합니다.

다음 단계는 Vault 서버와 함께 사용되는 모든 버전의 SQL에 해당됩니다(Express 및 정식 버전의 SQL). 지원되는 데이터베이스 엔진의 전체 리스트는 제품 읽어보기 파일을 참조하십시오.

주: SQL Express를 실행 중이고 SQL Management Studio가 설치되어 있지 않은 경우 "Microsoft SQL Express용 유지 관리 스크립트 작성" 섹션 아래의 스크립트를 사용하여 명령 프롬프트를 통해 다음 단계를 완료하거나, Microsoft 웹 사이트에서 제공되는 Express용 SQL Management Studio를 설치할 수 있습니다.
  1. SQL Management Studio에 로그인합니다.
  2. 데이터베이스를 확장하고 시스템 데이터베이스를 확장합니다.
  3. tempdb를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  4. 파일 페이지를 선택합니다.
  5. 다중 코어 시스템을 사용 중인 경우 아래 지침에 따라 추가 데이터 파일을 구성해야 합니다. 단일 코어 시스템을 사용 중인 경우 아래의 D단계로 건너뜁니다.
    1. 데이터 파일은 사용 가능한 논리\가상 프로세서 수와 같아야 합니다. 예를 들어, 시스템에 논리 프로세서가 12개 있는 경우 .mdf 파일 1개와 .ndf 파일 11개가 있게 됩니다. 디스크 공간이 중요한 경우 1024MB 대신 512MB의 "크기"를 사용할 수 있습니다.

      주: SQL 2016 이상의 경우 데이터 파일은 기본적으로 더 낮은 값인 8이나 설정에서 감지된 논리적 코어 수로 설정됩니다. 특정 작업량에 필요한 만큼 값을 늘릴 수 있습니다. 보조 데이터 파일 이름은 tempdb_mssql_#.ndf 명명 규칙을 따릅니다. 여기서 #은 각 추가 파일의 파일 서수를 나타냅니다.

    2. 추가 버튼을 클릭하여 데이터 파일을 더 추가합니다.
    3. 필요에 따라 새 파일의 이름을 temp2, temp3 등으로 지정합니다.
    4. 각 데이터 파일의 크기를 1,024MB로 설정합니다. 전체 8개의 데이터 파일을 사용하는 경우 크기로 512MB를 사용할 수 있습니다.
    5. Autogrowth를 100MB로 설정하여 각 데이터 파일이 무제한 증가할 수 있게 합니다.
    6. LDF 로그 파일을 결합된 전체 데이터 파일로 설정합니다. 예를 들어, 총 2개의 데이터 파일이 있는 경우 결과 LDF의 크기는 2,048MB로 설정해야 합니다.

  6. 사용자 데이터베이스, KMV 및 기타 Vault 데이터베이스의 경우 옵션 페이지에서 호환성 수준을 SQL Server 2016(130)로 설정합니다. 시스템 데이터베이스는 Autodesk에서 정의하지 않으므로 기본 호환성 수준으로 두는 것이 안전합니다.
  7. 확인을 선택합니다.

정식 버전의 SQL을 위한 SQL 유지 관리 계획 작성

데이터베이스 및 트랜잭션 로그 파일 크기를 작게 유지하고 불일치가 발생하지 않았는지 데이터베이스를 확인하는 것과 같이 데이터베이스가 잘 작동하고 있는지 확인하는 데 필요한 작업을 스케줄하기 위해 유지 관리 계획을 사용할 수 있습니다.

주: 이러한 설정은 Autodesk에서 권장하는 설정이며, 새 설치에 대해 자동으로 구성되어야 합니다. Vault 서버의 이전 릴리즈에서 마이그레이션한 경우 이러한 설정은 관리자가 의도적으로 변경한 대로 적용되지 않습니다.

SQL Standard/Enterprise

  1. 계속하기 전에 Vault가 Autodesk Vault Server 콘솔을 통해 백업되었는지 확인합니다.
  2. 모든 사용자가 Vault 서버에서 로그아웃했는지 확인합니다.
  3. 제어판에서 관리 도구를 두 번 클릭한 다음 서비스 아이콘을 두 번 클릭합니다.
  4. SQL Server Agent(AUTODESKVAULT) 서비스를 찾습니다.
  5. SQL Server Agent (AUTODESKVAULT)를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  6. 시작 유형을 자동으로 변경하고 서비스를 시작합니다.

  7. Microsoft SQL Management Studio를 열고 AutodeskVault 인스턴스에 연결합니다. 서버 이름으로 <컴퓨터 이름>₩AUTODESKVAULT를 사용하고 연결을 누릅니다.
  8. Vault 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  9. 파일 페이지에서 다음과 같이 설정합니다.
    • 모든 <Vault> 데이터베이스의 Autogrowth 값을 100MB(무제한 증가)로 설정
    • 모든 <Vault>_log 파일의 크기 값을 500MB로 설정
    • <Custom_Library> 파일의 Autogrowth 값을 25MB로 설정
    • 모든 _log 파일의 Autogrowth 값을 10%(무제한 증가)로 설정

    또는 표 형식으로 나타내면 다음과 같습니다.

    논리적 이름

    크기(MB)

    Autogrowth

    KnowledgeVaultMaster

    10MB, 무제한 증가

    KnowledgeVaultMaster_log

    10%, 무제한 증가

    <Vault>

    100MB, 무제한 증가

    <Vault>_log

    500

    10%, 무제한 증가

    <Custom_Library>

    25MB, 무제한 증가

    <Custom_Library>_log

    10%, 무제한 증가

    <Standard_Library>

    25MB, 무제한 증가

    <Standard_Library>_log

    10%, 무제한 증가

    주: 위 표의 빈 셀은 기본 설정을 변경해서는 안 됨을 나타냅니다.

    회색 셀은 기본값을 나타내며, 다른 경우 위에 표시된 대로 설정해야 합니다.

  10. 옵션 페이지에서 호환성 수준을 SQL Server 2016(130)으로 설정하고, 자동 축소 드롭다운 리스트를 False로 변경합니다.
  11. 모든 KnowledgeVaultMaster, Vault 및 라이브러리 Vault 데이터베이스에 대해 이러한 동일한 단계를 수행합니다(8~10단계).
  12. 관리 폴더를 확장하고 유지 관리 계획 폴더를 선택합니다.
  13. 유지 관리 계획 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 유지보수 계획 마법사를 선택합니다. 다음을 클릭합니다.

  14. 계획 속성 선택 대화상자에서 이름에 Vault 케어 플랜을 입력한 다음 변경 버튼을 클릭하여 스케줄을 설정합니다.

  15. 작업 스케줄 특성 대화상자에서 유지 관리 계획을 Autodesk Vault Server 콘솔 백업 완료 후에 실행되도록 설정합니다. 데이터 세트 크기에 따라 이 스케줄을 다른 요일과 시간에 실행해야 할 수 있습니다. 이 작업을 토요일에 실행하여 작업 완료에 걸리는 시간을 확인한 다음, 작업을 정기적으로 실행하는 데 가장 적절한 요일과 시간을 결정하는 것이 좋습니다.
  16. 유지 관리 작업 선택 대화상자에서 다음 옵션을 선택합니다.

  17. 유지 관리 작업 지시 선택 대화상자에서 지시를 다음과 같이 설정합니다.

  18. 데이터베이스 무결성 검사 태스크 정의 대화상자의 데이터베이스 드롭다운 리스트에서 모든 사용자 데이터베이스를 선택한 다음 “인덱스 포함” 및 “물리적만” 옆의 상자를 선택합니다.

  19. 인덱스 다시 작성 태스크 정의 대화상자의 데이터베이스 드롭다운 리스트에서 모든 사용자 데이터베이스를 선택합니다.

  20. 통계 업데이트 태스크 정의 대화상자에서 다음 옵션을 선택합니다.

  21. 기록 정리 태스크 정의 대화상자에서 필요에 따라 정리 옵션을 선택합니다.

  22. 보고서 옵션 선택 대화상자에서 유지 관리 보고서의 위치를 지정합니다.
  23. 다음을 클릭한 다음 마침을 클릭합니다.

Microsoft SQL Express용 유지 관리 스크립트 작성

Microsoft SQL Express는 SQL Server Management Studio Express 내에서의 유지 관리 계획 작성을 허용하지 않습니다.

SQL 유지 관리 계획이 실행되는 OS(Windows) 사용자는 SQL의 sysadmin 역할이 있는지 확인합니다.

명령 프롬프트를 통해 tempdb 수정

    이 섹션의 앞부분에서 설명한 대로 SQL Server Management Studio가 설치되어 있지 않은 경우 명령 프롬프트를 통해 다음을 수행하여 tempdb 데이터베이스 변경을 완료할 수 있습니다.

  1. 명령 프롬프트를 관리자로 엽니다.
  2. 아래의 각 행을 복사하여 명령 프롬프트에 붙여 넣고 Enter 키를 누릅니다.

    SQLCMD -E -S".\AutodeskVault" -Q "ALTER DATABASE [tempdb] SET COMPATIBILITY_LEVEL = 130"
    SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = 
    N'tempdev', SIZE = 1024MB, FILEGROWTH = 100MB)"
    SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = 
    N'templog', SIZE = 1024MB )"
  3. 다중 코어 시스템을 사용하는 경우 아래 지침에 따라 추가 데이터 파일을 구성해야 합니다. **주 파일 이름 = 아래에 사용된 파일 시스템 경로는 SQL 데이터 디렉토리와 같은 위치여야 합니다. 아래 예에서는 'C:\Program Files\Microsoft SQL Server\MSSQL15.AUTODESKVAULT\MSSQL\DATA입니다. 올바른 경로를 나열하도록 스크립트를 수정합니다.
    1. 데이터 파일은 사용 가능한 논리\가상 프로세서 수와 같아야 합니다. 예를 들어, 시스템에 논리 프로세서가 12개 있는 경우 .mdf 파일 1개와 .ndf 파일 11개가 있게 됩니다. 디스크 공간이 중요한 경우 1024MB 대신 512MB의 "크기"를 사용할 수 있습니다.

      주: SQL 2016 이상의 경우 데이터 파일은 기본적으로 더 낮은 값인 8이나 설정에서 감지된 논리적 코어 수로 설정됩니다. 특정 작업량에 필요한 만큼 값을 늘릴 수 있습니다. 보조 데이터 파일 이름은 tempdb_mssql_#.ndf 명명 규칙을 따릅니다. 여기서 #은 각 추가 파일의 파일 서수를 나타냅니다.

      SQLCMD -E -S ".\AutodeskVault" -Q " ALTER DATABASE [tempdb] ADD FILE ( NAME = 
      N'tempdev_2', FILENAME = N'C:\Program Files\Microsoft SQL 
      Server\MSSQL15.AUTODESKVAULT\MSSQL\DATA\tempdev_2.ndf', SIZE = 1024MB, 
      FILEGROWTH = 100MB)"
    2. 추가 데이터 파일을 작성해야 하는 경우 NAME 및 FILENAME 둘 다에 대해 tempdev_3 등이 반영되도록 위의 예를 수정하기만 하면 됩니다.
    3. LDF 로그 파일을 결합된 전체 데이터 파일로 설정합니다. 예를 들어, 총 2개의 데이터 파일이 있는 경우 결과 LDF의 크기는 2,048MB로 설정해야 합니다.
      SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( 
      NAME = N'templog', SIZE = 2048MB )"

케어 플랜

    아래 스크립트를 복사하여 VaultMaintenance.bat로 저장된 새 파일에 붙여 넣습니다.

    다음은 C:₩의 루트에서 Vault라는 데이터베이스에 대해 배치 파일을 실행하고 결과를 텍스트 파일로 출력하는 방법의 예입니다.

    C:\VaultMaintenance.bat Vault > results.txt
    주: 이 문서에서 직접 복사하여 붙여 넣으려면 줄 바꿈이 필요합니다. 또한 유지 관리 계획을 실행하는 사용자에게는 SQL에서 이 작업을 수행하기 위한 권한이 필요합니다. 이러한 작업은 SQL 설치 중이나 설치 후에 수행할 수 있습니다.
    REM This begins the maintenance plan.
    @echo off
    if "%1"=="" goto NOPARAM
    set VAULTNAME=[%1]
    set VAULTLOG=[%1_log]
    @echo Setting %VAULTNAME% database compatibility to 130
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET 
    COMPATIBILITY_LEVEL = 130"
    @echo Setting %VAULTNAME% database recovery model to simple...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET RECOVERY 
    SIMPLE"
    @echo Setting %VAULTNAME% database Autogrowth value...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME%  MODIFY FILE 
    (NAME=%VAULTNAME%, FILEGROWTH=100MB)"
    @echo Setting %VAULTNAME% database Log filesize...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% MODIFY FILE ( NAME = 
    %VAULTLOG%, SIZE = 512000KB )"
    @echo Setting %VAULTNAME% database Autoclose to false...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET AUTO_CLOSE OFF 
    WITH NO_WAIT"
    @echo Reindexing %VAULTNAME% database...
    sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% DECLARE tableCursor CURSOR FOR 
    SELECT NAME FROM sysobjects WHERE xtype in('U') DECLARE @tableName nvarchar(128) 
    OPEN tableCursor FETCH NEXT FROM tableCursor INTO @tableName WHILE 
    @@FETCH_STATUS = 0 BEGIN DBCC DBREINDEX(@tableName, '') FETCH NEXT FROM 
    tableCursor INTO @tableName END CLOSE tableCursor DEALLOCATE tableCursor"
    @echo Updating Statistics on %VAULTNAME% database...
    sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% Exec sp_MSForEachTable 'Update 
    Statistics ? WITH FULLSCAN'"
    goto EXIT
    :NOPARAM
    echo [FAIL] Please indicate Vault database
    pause
    :EXIT
    REM This ends the maintenance plan.