시스템 데이터베이스 다시 작성Rebuild System Databases

master, model, msdb또는 resource 시스템 데이터베이스의 손상 문제를 수정하거나 기본 서버 수준 데이터 정렬을 변경하려면 시스템 데이터베이스를 다시 작성해야 합니다.System databases must be rebuilt to fix corruption problems in the master, model, msdb, or resource system databases or to modify the default server-level collation. 이 항목에서는 SQL Server 2017SQL Server 2017에서 시스템 데이터베이스를 다시 작성하는 단계별 지침을 제공합니다.This topic provides step-by-step instructions to rebuild system databases in SQL Server 2017SQL Server 2017.

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

master, model, msdb 및 tempdb 시스템 데이터베이스를 다시 작성하면 해당 데이터베이스가 삭제된 후 원래 위치에 다시 만들어집니다.When the master, model, msdb, and tempdb system databases are rebuilt, the databases are dropped and re-created in their original location. REBUILD 문에 새로운 데이터 정렬이 지정되면 해당 데이터 정렬 설정을 사용하여 시스템 데이터베이스가 만들어집니다.If a new collation is specified in the rebuild statement, the system databases are created using that collation setting. 이러한 데이터베이스에 사용자들이 변경한 내용은 손실됩니다.Any user modifications to these databases are lost. 예를 들어, master 데이터베이스에 사용자 정의 개체가 있거나, msdb에 예약된 작업이 있거나 model 데이터베이스에서 기본 데이터베이스 설정을 변경했을 수 있습니다.For example, you may have user-defined objects in the master database, scheduled jobs in msdb, or changes to the default database settings in the model database.

필수 구성 요소 Prerequisites

시스템 데이터베이스를 다시 작성하기 전에 다음 태스크를 수행하면 시스템 데이터베이스를 현재 설정으로 복원할 수 있습니다.Perform the following tasks before you rebuild the system databases to ensure that you can restore the system databases to their current settings.

  1. 서버 차원의 모든 구성 값을 기록합니다.Record all server-wide configuration values.

    SELECT * FROM sys.configurations;  
    
  2. SQL ServerSQL Server 인스턴스와 현재 데이터 정렬에 적용된 모든 서비스 팩과 핫픽스를 기록합니다.Record all service packs and hotfixes applied to the instance of SQL ServerSQL Server and the current collation. 시스템 데이터베이스를 다시 작성한 후 이러한 업데이트를 다시 적용해야 합니다.You must reapply these updates after rebuilding the system databases.

    SELECT  
    SERVERPROPERTY('ProductVersion ') AS ProductVersion,  
    SERVERPROPERTY('ProductLevel') AS ProductLevel,  
    SERVERPROPERTY('ResourceVersion') AS ResourceVersion,  
    SERVERPROPERTY('ResourceLastUpdateDateTime') AS ResourceLastUpdateDateTime,  
    SERVERPROPERTY('Collation') AS Collation;  
    
  3. 시스템 데이터베이스의 모든 데이터와 로그 파일의 현재 위치를 기록합니다.Record the current location of all data and log files for the system databases. 시스템 데이터베이스를 다시 작성하면 모든 시스템 데이터베이스가 원래 위치에 설치됩니다.Rebuilding the system databases installs all system databases to their original location. 시스템 데이터베이스 데이터나 로그 파일을 다른 위치로 이동한 경우 해당 파일을 다시 이동해야 합니다.If you have moved system database data or log files to a different location, you must move the files again.

    SELECT name, physical_name AS current_file_location  
    FROM sys.master_files  
    WHERE database_id IN (DB_ID('master'), DB_ID('model'), DB_ID('msdb'), DB_ID('tempdb'));  
    
  4. master, model, msdb 데이터베이스의 현재 백업을 찾습니다.Locate the current backup of the master, model, and msdb databases.

  5. SQL ServerSQL Server 인스턴스가 복제 배포자로 구성된 경우 배포 데이터베이스의 현재 백업을 찾습니다.If the instance of SQL ServerSQL Server is configured as a replication Distributor, locate the current backup of the distribution database.

  6. 시스템 데이터베이스를 다시 작성할 수 있는 권한이 있는지 확인합니다.Ensure you have appropriate permissions to rebuild the system databases. 이 작업을 수행하려면 sysadmin 고정 서버 역할의 멤버여야 합니다.To perform this operation, you must be a member of the sysadmin fixed server role. 자세한 내용은 서버 수준 역할을 참조하세요.For more information, see Server-Level Roles.

  7. master, model, msdb 데이터와 로그 템플릿 파일의 복사본이 로컬 서버에 있는지 확인합니다.Verify that copies of the master, model, msdb data and log template files exist on the local server. 템플릿 파일의 기본 위치는 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Templates입니다.The default location for the template files is C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Templates. 이러한 파일은 다시 작성 프로세스 중에 사용되므로 성공적으로 설치를 수행하려면 반드시 있어야 합니다.These files are used during the rebuild process and must be present for Setup to succeed. 이러한 파일이 없으면 설치 시 복구 기능을 실행하거나 설치 미디어에서 해당 파일을 직접 복사하세요.If they are missing, run the Repair feature of Setup, or manually copy the files from your installation media. 설치 미디어에서 이러한 파일을 찾으려면 해당 플랫폼 디렉터리(x86 또는 x64)로 이동한 후 setup\sql_engine_core_inst_msi\Pfiles\SqlServr\MSSQL.X\MSSQL\Binn\Templates로 이동합니다.To locate the files on the installation media, navigate to the appropriate platform directory (x86 or x64) and then navigate to setup\sql_engine_core_inst_msi\Pfiles\SqlServr\MSSQL.X\MSSQL\Binn\Templates.

시스템 데이터베이스 다시 작성 Rebuild System Databases

다음은 master, model, msdb 및 tempdb 시스템 데이터베이스를 다시 작성하는 절차입니다.The following procedure rebuilds the master, model, msdb, and tempdb system databases. 다시 작성할 시스템 데이터베이스를 지정할 수 없습니다.You cannot specify the system databases to be rebuilt. 클러스터형 인스턴스의 경우 액티브 노드에서 이 절차를 수행해야 하고, 이 절차를 수행하기 전에 해당 클러스터 응용 프로그램 그룹의 SQL ServerSQL Server 리소스를 오프라인으로 설정해야 합니다.For clustered instances, this procedure must be performed on the active node and the SQL ServerSQL Server resource in the corresponding cluster application group must be taken offline before performing the procedure.

리소스 데이터베이스는 이 절차를 통해 다시 작성할 수 없습니다.This procedure does not rebuild the resource database. 이 항목 뒷부분에 나오는 "리소스 데이터베이스 다시 작성 절차" 섹션을 참조하세요.See the section, "Rebuild the resource Database Procedure" later in this topic.

SQL Server 2008 인스턴스의 시스템 데이터베이스를 다시 작성하려면To rebuild system databases for an instance of SQL Server:

  1. SQL Server 2017SQL Server 2017 설치 미디어를 디스크 드라이브에 넣거나, 명령 프롬프트에서 로컬 서버의 setup.exe 파일이 있는 디렉터리로 변경합니다.Insert the SQL Server 2017SQL Server 2017 installation media into the disk drive, or, from a command prompt, change directories to the location of the setup.exe file on the local server. 서버의 기본 위치는 C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\SQLServer2016입니다.The default location on the server is C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\SQLServer2016.

  2. 명령 프롬프트 창에서 다음 명령을 입력합니다.From a command prompt window, enter the following command. 대괄호([])는 옵션 매개 변수를 나타내는 데 사용되며,Square brackets are used to indicate optional parameters. 입력하지는 않습니다.Do not enter the brackets. Windows 운영 체제에서 UAC(사용자 계정 컨트롤)를 사용할 경우 설치를 실행하려면 승격된 권한이 필요합니다.When using a Windows operating system that has User Account Control (UAC) enabled, running Setup requires elevated privileges. 명령 프롬프트에서 관리자 권한으로 실행합니다.The command prompt must be run as Administrator.

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]

    매개 변수 이름Parameter name 설명Description
    /QUIET 또는 /Q/QUIET or /Q 설치 프로그램이 사용자 인터페이스 없이 실행되도록 지정합니다.Specifies that Setup run without any user interface.
    /ACTION=REBUILDDATABASE/ACTION=REBUILDDATABASE 설치 시 시스템 데이터베이스를 다시 작성하도록 지정합니다.Specifies that Setup re-create the system databases.
    /INSTANCENAME=InstanceName/INSTANCENAME=InstanceName SQL ServerSQL Server인스턴스의 이름입니다.Is the name of the instance of SQL ServerSQL Server. 기본 인스턴스의 경우 MSSQLSERVER를 입력합니다.For the default instance, enter MSSQLSERVER.
    /SQLSYSADMINACCOUNTS=accounts/SQLSYSADMINACCOUNTS=accounts sysadmin 고정 서버 역할에 추가할 Windows 그룹이나 개별 계정을 지정합니다.Specifies the Windows groups or individual accounts to add to the sysadmin fixed server role. 둘 이상의 계정을 지정할 경우 각 계정 이름을 공백으로 구분합니다.When specifying more than one account, separate the accounts with a blank space. 예를 들면 BUILTIN\Administrators MyDomain\MyUser와 같이 입력합니다.For example, enter BUILTIN\Administrators MyDomain\MyUser. 계정 이름에 공백이 포함되어 있는 계정을 지정할 때는 계정을 큰따옴표로 묶습니다.When you are specifying an account that contains a blank space within the account name, enclose the account in double quotation marks. 예를 들면 NT AUTHORITY\SYSTEM과 같이 입력합니다.For example, enter NT AUTHORITY\SYSTEM.
    [ /SAPWD=StrongPassword ][ /SAPWD=StrongPassword ] SQL ServerSQL Server sa 계정의 암호를 지정합니다.Specifies the password for the SQL ServerSQL Server sa account. 해당 인스턴스에서 혼합 인증( SQL ServerSQL Server 및 Windows 인증) 모드를 사용할 경우 이 매개 변수가 필요합니다.This parameter is required if the instance uses Mixed Authentication ( SQL ServerSQL Server and Windows Authentication) mode.

    ** 보안 정보 *\sa*계정은 잘 알려진 SQL ServerSQL Server 계정이므로 악의적인 사용자의 공격 대상이 되는 경우가 많습니다.** Security Note **The **sa account is a well-known SQL ServerSQL Server account and it is often targeted by malicious users. sa 로그인에 대해 강력한 암호를 사용하도록 합니다.It is very important that you use a strong password for the sa login.

    Windows 인증 모드에 이 매개 변수를 지정하지 마세요.Do not specify this parameter for Windows Authentication mode.
    [ /SQLCOLLATION=CollationName ][ /SQLCOLLATION=CollationName ] 서버 수준 데이터 정렬을 새로 지정합니다.Specifies a new server-level collation. 이 매개 변수는 선택 사항입니다.This parameter is optional. 지정하지 않으면 서버의 현재 데이터 정렬이 사용됩니다.When not specified, the current collation of the server is used.

    ** 중요 *\서버 수준 데이터 정렬을 변경해도 기존 사용자 데이터베이스의 데이터 정렬은 변경되지 않습니다.*** Important ****Changing the server-level collation does not change the collation of existing user databases. 새로 만드는 모든 사용자 데이터베이스는 기본적으로 새로운 데이터 정렬을 사용하게 됩니다.All newly created user databases will use the new collation by default.

    자세한 내용은 서버 데이터 정렬 설정 또는 변경을 참조하세요.For more information, see Set or Change the Server Collation.
    [ /SQLTEMPDBFILECOUNT=NumberOfFiles ][ /SQLTEMPDBFILECOUNT=NumberOfFiles ] tempdb 데이터 파일 수를 지정합니다.Specifies the number of tempdb data files. 이 값은 최대 8 또는 코어 수 중에서 더 높은 값까지 높일 수 있습니다.This value can be increased up to 8 or the number of cores, whichever is higher.

    기본값: 8 또는 코어 수 중 낮은 값Default value: 8 or the number of cores, whichever is lower.
    [ /SQLTEMPDBFILESIZE=FileSizeInMB ][ /SQLTEMPDBFILESIZE=FileSizeInMB ] 각 tempdb 데이터 파일의 초기 크기를 MB 단위로 지정합니다.Specifies the initial size of each tempdb data file in MB. 설치에서는 최대 1024MB의 크기를 지원합니다.Setup allows the size up to 1024 MB.

    기본값: 8Default value: 8
    [ /SQLTEMPDBFILEGROWTH=FileSizeInMB ][ /SQLTEMPDBFILEGROWTH=FileSizeInMB ] 각 tempdb 데이터 파일의 파일 증가 증분을 MB 단위로 지정합니다.Specifies the file growth increment of each tempdb data file in MB. 값이 0이면 자동 증가가 해제되어 있고 추가 공간이 허용되지 않음을 나타냅니다.A value of 0 indicates that automatic growth is off and no additional space is allowed. 설치에서는 최대 1024MB의 크기를 지원합니다.Setup allows the size up to 1024 MB.

    기본값: 64Default value: 64
    [ /SQLTEMPDBLOGFILESIZE=FileSizeInMB ][ /SQLTEMPDBLOGFILESIZE=FileSizeInMB ] tempdb 로그 파일의 초기 크기를 MB 단위로 지정합니다.Specifies the initial size of the tempdb log file in MB. 설치에서는 최대 1024MB의 크기를 지원합니다.Setup allows the size up to 1024 MB.

    기본값: 8Default value: 8.

    허용되는 범위: Min = 8, Max = 1024Allowed range: Min = 8, max = 1024.
    [ /SQLTEMPDBLOGFILEGROWTH=FileSizeInMB ][ /SQLTEMPDBLOGFILEGROWTH=FileSizeInMB ] tempdb 로그 파일의 파일 증가 증분을 MB 단위로 지정합니다.Specifies the file growth increment of the tempdb log file in MB. 값이 0이면 자동 증가가 해제되어 있고 추가 공간이 허용되지 않음을 나타냅니다.A value of 0 indicates that automatic growth is off and no additional space is allowed. 설치에서는 최대 1024MB의 크기를 지원합니다.Setup allows the size up to 1024 MB.

    기본값: 64Default value: 64

    허용되는 범위: Min = 8, Max = 1024Allowed range: Min = 8, max = 1024.
    [ /SQLTEMPDBDIR=Directories ][ /SQLTEMPDBDIR=Directories ] tempdb 데이터 파일에 대한 디렉터리를 지정합니다.Specifies the directories for tempdb data files. 둘 이상의 디렉터리를 지정할 경우 각 계정 이름을 공백으로 구분합니다.When specifying more than one directory, separate the directories with a blank space. 여러 디렉터리가 지정된 경우 tempdb 데이터 파일은 라운드 로빈 방식으로 여러 디렉터리에 분배됩니다.If multiple directories are specified the tempdb data files will be spread across the directories in a round-robin fashion.

    기본 값: 시스템 데이터 디렉터리Default value: System Data Directory
    [ /SQLTEMPDBLOGDIR=Directory ][ /SQLTEMPDBLOGDIR=Directory ] tempdb 로그 파일의 디렉터리를 지정합니다.Specifies the directory for the tempdb log file.

    기본 값: 시스템 데이터 디렉터리Default value: System Data Directory
  3. 시스템 데이터베이스를 다시 작성하는 작업이 완료되면 아무런 메시지 없이 명령 프롬프트로 돌아갑니다.When Setup has completed rebuilding the system databases, it returns to the command prompt with no messages. Summary.txt 로그 파일을 검토하여 프로세스가 성공적으로 완료되었는지 확인합니다.Examine the Summary.txt log file to verify that the process completed successfully. 이 파일은 C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Logs에 있습니다.This file is located at C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Logs.

  4. RebuildDatabase 시나리오는 시스템 데이터베이스를 삭제 하 고 깨끗 한 상태로 다시 설치합니다.RebuildDatabase scenario deletes system databases and installs them again in clean state. tempdb 파일 수 설정이 지속되지 않으므로, tempdb 파일 수의 값은 설치 중 알 수 없습니다.Because the setting of tempdb file count does not persist, the value of number of tempdb files is not known during setup. 따라서 RebuildDatabase 시나리오는 다시 추가될 tempdb 파일의 수를 알지 못합니다.Therefore, RebuildDatabase scenario does not know the count of tempdb files to be re-added. SQLTEMPDBFILECOUNT 매개 변수와 함께 다시 tempdb 파일 수의 값을 제공할 수 있습니다.You can provide the value of the number of tempdb files again with the SQLTEMPDBFILECOUNT parameter. 매개 변수가 제공되지 않을 경우 RebuildDatabase는 기본 tempdb 파일 개수를 추가합니다(CPU 개수 또는 8개의 tempdb 파일 중 적은 값).If the parameter is not provided, RebuildDatabase will add a default number of tempdb files, which is as many tempdb files as the CPU count or 8, whichever is lower.

다시 작성 후 수행할 태스크Post-Rebuild Tasks

데이터베이스를 다시 작성한 후에는 다음과 같은 추가 태스크를 수행해야 할 수 있습니다.After rebuilding the database you may need to perform the following additional tasks:

  • master, model 및 msdb 데이터베이스의 최근 전체 백업을 복원합니다.Restore your most recent full backups of the master, model, and msdb databases. 자세한 내용은 시스템 데이터베이스 백업 및 복원(SQL Server&#41를 참조하세요.For more information, see Back Up and Restore of System Databases (SQL Server).

    중요

    서버 데이터 정렬을 변경했을 경우 시스템 데이터베이스를 복원하지 마세요.If you have changed the server collation, do not restore the system databases. 시스템 데이터베이스를 복원하면 새로운 데이터 정렬이 이전 데이터 정렬 설정으로 바뀝니다.Doing so will replace the new collation with the previous collation setting.

    백업을 사용할 수 없거나 복원된 백업이 최신 백업이 아닌 경우 누락된 항목을 다시 만듭니다.If a backup is not available or if the restored backup is not current, re-create any missing entries. 예를 들어 사용자 데이터베이스, 백업 장치, SQL ServerSQL Server 로그인, 끝점 등에 대한 모든 누락 항목을 다시 만듭니다.For example, re-create all missing entries for your user databases, backup devices, SQL ServerSQL Server logins, end points, and so on. 항목을 다시 만드는 가장 좋은 방법은 해당 항목을 만들었던 원래 스크립트를 실행하는 것입니다.The best way to re-create entries is to run the original scripts that created them.

중요

스크립트에 보안을 설정해 무단으로 내용을 변경할 수 없도록 하는 것이 좋습니다.We recommend that you secure your scripts to prevent their being altered by unauthorized by individuals.

  • SQL ServerSQL Server 인스턴스가 복제 배포자로 구성된 경우 배포 데이터베이스를 복원해야 합니다.If the instance of SQL ServerSQL Server is configured as a replication Distributor, you must restore the distribution database. 자세한 내용은 복제된 데이터베이스 백업 및 복원을 참조하세요.For more information, see Back Up and Restore Replicated Databases.

  • 시스템 데이터베이스를 앞에서 기록해 둔 위치로 이동합니다.Move the system databases to the locations you recorded previously. 자세한 내용은 시스템 데이터베이스 이동을 참조하세요.For more information, see Move System Databases.

  • 서버 차원의 구성 값이 앞에서 기록해 둔 값과 일치하는지 확인합니다.Verify the server-wide configuration values match the values you recorded previously.

리소스 데이터베이스 다시 작성 Rebuild the resource Database

다음은 리소스 시스템 데이터베이스를 다시 작성하는 절차입니다.The following procedure rebuilds the resource system database. 리소스 데이터베이스를 다시 작성하면 모든 서비스 팩과 핫픽스 업데이트가 손실되므로 다시 적용해야 합니다.When you rebuild the resource database, all service packs and hot fixes are lost, and therefore must be reapplied.

리소스 시스템 데이터베이스를 다시 작성하려면To rebuild the resource system database:

  1. 배포 미디어에서 SQL Server 2017SQL Server 2017 설치 프로그램(setup.exe)을 실행합니다.Launch the SQL Server 2017SQL Server 2017 Setup program (setup.exe) from the distribution media.

  2. 왼쪽의 탐색 영역에서 유지 관리를 클릭한 다음 복구를 클릭합니다.In the left navigation area, click Maintenance, and then click Repair.

  3. 시스템에 사전 요구 사항가 설치되어 있고 컴퓨터가 설치 유효성 검사 규칙을 통과하는지 확인하기 위해 설치 지원 규칙 및 파일 루틴이 실행됩니다.Setup support rule and file routines run to ensure that your system has prerequisites installed and that the computer passes Setup validation rules. 계속하려면 확인 또는 설치 를 클릭합니다.Click OK or Install to continue.

  4. 인스턴스 선택 페이지에서 복구할 인스턴스를 선택한 후 다음을 클릭합니다.On the Select Instance page, select the instance to repair, and then click Next.

  5. 작업이 유효한지 검사하는 복구 규칙이 실행됩니다.The repair rules will run to validate the operation. 계속하려면 다음을 클릭합니다.To continue, click Next.

  6. 복구 준비 페이지에서 복구를 클릭합니다.From the Ready to Repair page, click Repair. 완료 페이지에서 작업이 완료되었음을 알려 줍니다.The Complete page indicates that the operation is finished.

새 msdb 데이터베이스 만들기 Create a New msdb Database

msdb 데이터베이스가 손상되고 msdb 데이터베이스 백업이 없는 경우 instmsdb 스크립트를 사용하여 새 msdb 를 만들 수 있습니다.If the msdb database is damaged and you do not have a backup of the msdb database, you can create a new msdb by using the instmsdb script.

경고

instmsdb 스크립트를 사용하여 msdb 데이터베이스를 다시 작성하면 작업, 경고, 운영자, 유지 관리 계획, 백업 기록, 정책 기반 관리 설정, 데이터베이스 메일, 성능 데이터 웨어하우스 등과 같은 msdb 에 저장된 모든 정보가 제거됩니다.Rebuilding the msdb database using the instmsdb script will eliminate all the information stored in msdb such as jobs, alert, operators, maintenance plans, backup history, Policy-Based Management settings, Database Mail, Performance Data Warehouse, etc.

  1. 데이터베이스 엔진Database Engine에이전트, SQL ServerSQL Server , SSRSSSRS를 포함하는 SSISSSIS에 연결된 서비스 및 데이터 저장소와 같은 SQL ServerSQL Server 를 사용하는 응용프로그램을 모두 중지합니다.Stop all services connecting to the 데이터베이스 엔진Database Engine, including SQL ServerSQL Server Agent, SSRSSSRS, SSISSSIS, and all applications using SQL ServerSQL Server as data store.

  2. 다음 명령을 사용하여 명령줄에서 SQL ServerSQL Server 를 시작합니다. NET START MSSQLSERVER /T3608Start SQL ServerSQL Server from the command line using the command: NET START MSSQLSERVER /T3608

    자세한 내용은 데이터베이스 엔진, SQL Server 에이전트 또는 SQL Server Browser 서비스 시작, 중지, 일시 중지, 재개 및 다시 시작을 참조하세요.For more information, see Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service.

  3. 다른 명령줄 창에서 다음 명령을 실행하여 msdb 데이터베이스를 분리하고 <servername>SQL ServerSQL Server 인스턴스로 바꿉니다. SQLCMD -E -S<servername> -dmaster -Q"EXEC sp_detach_db msdb"In another command line window, detach the msdb database by executing the following command, replacing <servername> with the instance of SQL ServerSQL Server: SQLCMD -E -S<servername> -dmaster -Q"EXEC sp_detach_db msdb"

  4. Windows 탐색기를 사용하여 msdb 데이터베이스 파일의 이름을 바꿉니다.Using the Windows Explorer, rename the msdb database files. 기본적으로 이러한 데이터베이스는 SQL ServerSQL Server 인스턴스의 데이터 하위 폴더에 있습니다.By default these are in the DATA sub-folder for the SQL ServerSQL Server instance.

  5. SQL ServerSQL Server 구성 관리자를 사용하여 데이터베이스 엔진Database Engine 서비스를 중지하고 다시 시작합니다.Using SQL ServerSQL Server Configuration Manager, stop and restart the 데이터베이스 엔진Database Engine service normally.

  6. 명령줄 창에서 SQL ServerSQL Server 를 다시 시작하고 다음 명령을 실행합니다. SQLCMD -E -S<servername> -i"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\instmsdb.sql" -o" C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\instmsdb.out"In a command line window, connect to SQL ServerSQL Server and execute the command: SQLCMD -E -S<servername> -i"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\instmsdb.sql" -o" C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\instmsdb.out"

    <servername>데이터베이스 엔진Database Engine 인스턴스로 바꿉니다.Replace <servername> with the instance of the 데이터베이스 엔진Database Engine. SQL ServerSQL Server인스턴스의 파일 시스템 경로를 사용합니다.Use the file system path of the instance of SQL ServerSQL Server.

  7. Windows 메모장을 사용하여 instmsdb.out 파일을 열고 오류 출력을 확인합니다.Using the Windows Notepad, open the instmsdb.out file and check the output for any errors.

  8. 인스턴스에 이미 설치된 서비스 팩 또는 핫픽스를 모두 다시 적용합니다.Re-apply any service packs or hotfix installed on the instance.

  9. 작업, 경고 등의 msdb 데이터베이스에 저장된 사용자 콘텐츠를 다시 만듭니다.Recreate the user content stored in the msdb database, such as jobs, alert, etc.

  10. msdb 데이터베이스를 백업합니다.Backup the msdb database.

다시 작성 오류 문제 해결 Troubleshoot Rebuild Errors

구문 및 기타 런타임 오류는 명령 프롬프트 창에 표시됩니다.Syntax and other run-time errors are displayed in the command prompt window. 설치 문에 다음과 같은 구문 오류가 없는지 확인합니다.Examine the Setup statement for the following syntax errors:

  • 각 매개 변수 이름 앞에 슬래시(/)가 있어야 합니다.Missing slash mark (/) in front of each parameter name.

  • 매개 변수 이름과 매개 변수 값 사이에 등호(=)가 있어야 합니다.Missing equal sign (=) between the parameter name and the parameter value.

  • 매개 변수 이름과 등호 사이에 공백이 없어야 합니다.Presence of blank spaces between the parameter name and the equal sign.

  • 구문에 지정되지 않은 쉼표(,)나 기타 문자가 없어야 합니다.Presence of commas (,) or other characters that are not specified in the syntax.

    다시 작성 작업이 완료되면 SQL ServerSQL Server 로그를 검토하여 오류가 없는지 확인합니다.After the rebuild operation is complete, examine the SQL ServerSQL Server logs for any errors. 기본 로그 위치는 C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Logs입니다.The default log location is C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Logs. 다시 작성 프로세스의 결과가 들어 있는 로그 파일을 찾으려면 명령 프롬프트에서 Logs 폴더로 이동한 후 findstr /s RebuildDatabase summary*.*를 입력합니다.To locate the log file that contains the results of the rebuild process, change directories to the Logs folder from a command prompt, and then run findstr /s RebuildDatabase summary*.*. 이렇게 검색하면 시스템 데이터베이스 다시 작성의 결과가 들어 있는 모든 로그 파일이 나타납니다.This search will point you to any log files that contain the results of rebuilding system databases. 로그 파일을 열고 검토하여 관련된 오류 메시지가 없는지 확인합니다.Open the log files and examine them for relevant error messages.

참고 항목See Also

시스템 데이터베이스System Databases