CREATE DATABASECREATE DATABASE

새 데이터베이스를 만듭니다.Creates a new database.

작업 중인 특정 SQL 버전에 대한 구문, 인수, 설명, 사용 권한 및 예제를 보려면 다음 탭 중 하나를 클릭합니다.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

구문 표기 규칙에 대한 자세한 내용은 Transact-SQL 구문 표기 규칙을 참조하십시오.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

제품 선택Select a product

다음 행에서 관심 있는 제품 이름을 선택하면 해당 제품의 정보만 표시됩니다.In the following row, select the product name you're interested in, and only that product’s information is displayed.

* SQL Server *  * SQL Server *  

 

SQL ServerSQL Server

개요Overview

SQL Server에서 이 문은 새 데이터베이스 및 사용되는 파일과 해당 파일 그룹을 만듭니다.In SQL Server, this statement creates a new database and the files used and their filegroups. 또한 데이터베이스 스냅샷을 만드는 데 사용하거나, 데이터베이스 파일을 첨부하여 다른 데이터베이스의 분리된 파일에서 데이터베이스를 만드는 데 사용할 수도 있습니다.It can also be used to create a database snapshot, or attach database files to create a database from the detached files of another database.

구문Syntax

데이터베이스 만들기Create a database

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
      [ PRIMARY ] <filespec> [ ,...n ]
      [ , <filegroup> [ ,...n ] ]
      [ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
      FILESTREAM ( <filestream_option> [,...n ] )
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
    | NESTED_TRIGGERS = { OFF | ON }
    | TRANSFORM_NOISE_WORDS = { OFF | ON}
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
    | DB_CHAINING { OFF | ON }
    | TRUSTWORTHY { OFF | ON }
    | PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='<Filepath to folder on DAX formatted volume>' )
}

<filestream_option> ::=
{
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    | DIRECTORY_NAME = 'directory_name'
}

<filespec> ::=
{
(
    NAME = logical_file_name ,
    FILENAME = { 'os_file_name' | 'filestream_path' }
    [ , SIZE = size [ KB | MB | GB | TB ] ]
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]
    <filespec> [ ,...n ]
}

데이터베이스 연결Attach a database

CREATE DATABASE database_name
    ON <filespec> [ ,...n ]
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
        | ATTACH_REBUILD_LOG }
[;]

<attach_database_option> ::=
{
      <service_broker_option>
    | RESTRICTED_USER
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

데이터베이스 스냅샷 만들기Create a database snapshot

CREATE DATABASE database_snapshot_name
    ON
    (
        NAME = logical_file_name,
        FILENAME = 'os_file_name'
    ) [ ,...n ]
    AS SNAPSHOT OF
[;]

인수Arguments

database_name 새 데이터베이스의 이름입니다.database_name Is the name of the new database. 데이터베이스 이름은 SQL ServerSQL Server 인스턴스 내에서 고유해야 하고 식별자 규칙을 따라야 합니다.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

로그 파일에 논리적 이름을 지정하는 경우 database_name은 최대 128자가 될 수 있습니다.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. 논리적 로그 파일 이름을 지정하지 않으면 SQL ServerSQL Server에서 database_name에 접미사를 추가하여 로그의 logical_file_nameos_file_name을 생성합니다.If a logical log file name is not specified, SQL ServerSQL Server generates the logical_file_name and the os_file_name for the log by appending a suffix to database_name. 생성할 논리적 파일 이름이 128자를 넘지 않도록 database_name은 123자로 제한됩니다.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

데이터 파일 이름을 지정하지 않으면 SQL ServerSQL Serverdatabase_namelogical_file_nameos_file_name으로 사용합니다.If data file name is not specified, SQL ServerSQL Server uses database_name as both the logical_file_name and as the os_file_name. 기본 경로는 레지스트리에서 가져옵니다.The default path is obtained from the registry. 기본 경로는 Management StudioManagement Studio에서 서버 속성(데이터베이스 설정 페이지) 을 사용하여 변경할 수 있습니다.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. 기본 경로를 변경하려면 SQL ServerSQL Server를 다시 시작해야 합니다.Changing the default path requires restarting SQL ServerSQL Server.

CONTAINMENT = { NONE | PARTIAL }CONTAINMENT = { NONE | PARTIAL }

적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

데이터베이스의 포함 상태를 지정합니다.Specifies the containment status of the database. NONE = 포함되지 않은 데이터베이스입니다.NONE = non-contained database. PARTIAL = 부분적으로 포함된 데이터베이스입니다.PARTIAL = partially contained database.

ON 데이터베이스의 데이터 섹션을 저장하는 데 사용하는 디스크 파일인 데이터 파일을 명시적으로 정의하도록 지정합니다.ON Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. 주 파일 그룹의 데이터 파일을 정의하는 <filespec> 항목의 쉼표로 구분된 목록을 나열할 때는 ON이 필요합니다.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. 주 파일 그룹의 파일 목록 다음에는 필요에 따라 사용자 파일 그룹과 해당 파일을 정의하는 쉼표로 구분된 <filegroup> 항목의 목록이 올 수 있습니다.The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items that define user filegroups and their files.

PRIMARY 연결된 <filespec> 목록이 주 파일을 정의하도록 지정합니다.PRIMARY Specifies that the associated <filespec> list defines the primary file. 주 파일 그룹의 <filespec> 항목에서 지정한 첫 번째 파일이 주 파일이 됩니다.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. 데이터베이스에는 주 파일이 하나만 있을 수 있습니다.A database can have only one primary file. 자세한 내용은 Database Files and Filegroups을 참조하세요.For more information, see Database Files and Filegroups.

PRIMARY를 지정하지 않으면 CREATE DATABASE 문에 나열된 첫 번째 파일이 주 파일이 됩니다.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ON 데이터베이스 로그를 저장하는 데 사용하는 디스크 파일인 로그 파일을 명시적으로 정의하도록 지정합니다.LOG ON Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON 다음에는 로그 파일을 정의하는 쉼표로 구분된 <filespec> 항목의 목록이 옵니다.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. LOG ON을 지정하지 않은 경우에는 데이터베이스의 모든 데이터 파일 크기를 합한 값의 25% 또는 512KB 중에서 더 큰 값을 갖는 로그 파일 하나가 자동으로 만들어집니다.If LOG ON is not specified, one log file is automatically created, which has a size that is 25 percent of the sum of the sizes of all the data files for the database, or 512 KB, whichever is larger. 이 파일은 기본 로그 파일 위치에 저장됩니다.This file is placed in the default log-file location. 이 위치에 대한 자세한 내용은 데이터 및 로그 파일의 기본 위치 보기 또는 변경 - SSMS를 참조하세요.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

데이터베이스 스냅샷에는 LOG ON을 지정할 수 없습니다.LOG ON cannot be specified on a database snapshot.

COLLATE collation_name 데이터베이스에 대한 기본 데이터 정렬을 지정합니다.COLLATE collation_name Specifies the default collation for the database. 데이터 정렬 이름으로는 Windows 데이터 정렬 이름 또는 SQL 데이터 정렬 이름을 사용할 수 있습니다.Collation name can be either a Windows collation name or a SQL collation name. 이 인수를 지정하지 않으면 데이터베이스에 SQL ServerSQL Server 인스턴스의 기본 데이터 정렬이 할당됩니다.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. 데이터베이스 스냅샷에는 데이터 정렬 이름을 지정할 수 없습니다.A collation name cannot be specified on a database snapshot.

FOR ATTACH 또는 FOR ATTACH_REBUILD_LOG 절을 사용하여 데이터 정렬 이름을 지정할 수 없습니다.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. 연결된 데이터베이스의 데이터 정렬을 변경하는 방법은 Microsoft 웹 사이트를 참조하세요.For information about how to change the collation of an attached database, visit this Microsoft Web site.

Windows 데이터 정렬 이름 및 SQL 데이터 정렬 이름에 대한 자세한 내용은 COLLATE를 참조하세요.For more information about the Windows and SQL collation names, see COLLATE.

참고

포함된 데이터베이스는 포함되지 않은 데이터베이스와 다른 방식으로 데이터가 정렬됩니다.Contained databases are collated differently than non-contained databases. 자세한 내용은 Contained Database Collations을 참조하세요.Please see Contained Database Collations for more information.

WITH <option> <filestream_option>WITH <option> <filestream_option>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } 적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later.

데이터베이스에 대한 비트랜잭션 FILESTREAM 액세스 수준을 지정합니다.Specifies the level of non-transactional FILESTREAM access to the database.

Value DescriptionDescription
OFFOFF 비트랜잭션 액세스는 사용할 수 없습니다.Non-transactional access is disabled.
READONLYREADONLY 비트랜잭션 프로세스에서 이 데이터베이스의 FILESTREAM 데이터를 읽을 수 있습니다.FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL FILESTREAM FileTable에 대한 전체 비트랜잭션 액세스를 사용할 수 있습니다.Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <directory_name> 적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상DIRECTORY_NAME = <directory_name> Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

Windows 호환 디렉터리 이름입니다.A windows-compatible directory name. 이 이름은 SQL ServerSQL Server 인스턴스의 모든 Database_Directory 이름 중에서 고유해야 합니다.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. 고유성 비교는 대/소문자를 구분하며 SQL ServerSQL Server 데이터 정렬 설정과 관계가 없습니다.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. 데이터베이스에 FileTable을 만들기 전에 이 옵션을 설정해야 합니다.This option should be set before creating a FileTable in this database.

CONTAINMENT가 PARTIAL로 설정된 경우에만 다음 옵션을 사용할 수 있습니다.The following options are allowable only when CONTAINMENT has been set to PARTIAL. CONTAINMENT가 NONE으로 설정되어 있으면 오류가 발생합니다.If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

    적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

    이 옵션에 대한 전체 설명은 기본 전체 텍스트 언어 서버 구성 옵션 구성을 참조하세요.See Configure the default full-text language Server Configuration Option for a full description of this option.

  • DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

    적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

    이 옵션에 대한 전체 설명은 기본 언어 서버 구성 옵션 구성을 참조하세요.See Configure the default language Server Configuration Option for a full description of this option.

  • NESTED_TRIGGERS = { OFF | ON}NESTED_TRIGGERS = { OFF | ON}

    적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

    이 옵션에 대한 전체 설명은 nested triggers 서버 구성 옵션 구성을 참조하세요.See Configure the nested triggers Server Configuration Option for a full description of this option.

  • TRANSFORM_NOISE_WORDS = { OFF | ON}TRANSFORM_NOISE_WORDS = { OFF | ON}

    적용 대상: SQL Server 2012(11.x)SQL Server 2012 (11.x) 이상Applies to: SQL Server 2012(11.x)SQL Server 2012 (11.x) and later

    이 옵션에 대한 전체 설명은 의미 없는 단어 변환 서버 구성 옵션을 참조하세요.See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    연도를 나타내는 4자리 숫자입니다.Four digits representing a year. 기본값은 2049입니다.2049 is the default value. 이 옵션에 대한 자세한 내용은 두 자리 연도 구분 서버 구성 옵션 구성을 참조하세요.See Configure the two digit year cutoff Server Configuration Option for a full description of this option.

  • DB_CHAINING { OFF | ON }DB_CHAINING { OFF | ON }

    ON이 지정되면 데이터베이스가 데이터베이스 간 소유권 체인의 원본 또는 대상이 될 수 있습니다.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    OFF가 지정되면 데이터베이스가 데이터베이스 간 소유권 체인에 참여할 수 없습니다.When OFF, the database cannot participate in cross-database ownership chaining. 기본값은 OFF입니다.The default is OFF.

    중요

    SQL ServerSQL Server 인스턴스는 cross db ownership chaining 서버 옵션이 0(OFF)일 때 이 설정을 인식할 수 있습니다.The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). cross db ownership chaining이 1(ON)이면 모든 사용자 데이터베이스는 이 옵션 값에 관계없이 데이터베이스 간 소유권 체인에 참여할 수 있습니다.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. 이 옵션은 sp_configure를 사용하여 설정합니다.This option is set by using sp_configure.

    이 옵션을 설정하려면 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.To set this option, requires membership in the sysadmin fixed server role. DB_CHAINING 옵션은 master, model, tempdb 시스템 데이터베이스에서는 설정할 수 없습니다.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

  • TRUSTWORTHY { OFF | ON }TRUSTWORTHY { OFF | ON }

    ON이 지정되면 뷰, 사용자 정의 함수 또는 저장 프로시저와 같이 가장 컨텍스트를 사용하는 데이터베이스 모듈이 데이터베이스 외부 리소스에 액세스할 수 있습니다.When ON is specified, database modules (for example, views, user-defined functions, or stored procedures) that use an impersonation context can access resources outside the database.

    OFF가 지정되면 가장 컨텍스트의 데이터베이스 모듈이 데이터베이스 외부의 리소스에 액세스할 수 없습니다.When OFF, database modules in an impersonation context cannot access resources outside the database. 기본값은 OFF입니다.The default is OFF.

    TRUSTWORTHY는 데이터베이스가 연결될 때마다 OFF로 설정됩니다.TRUSTWORTHY is set to OFF whenever the database is attached.

    기본적으로 msdb 데이터베이스를 제외한 모든 시스템 데이터베이스는 TRUSTWORTHY가 OFF로 설정되어 있습니다.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. model 및 tempdb 데이터베이스에 대해서는 이 값을 변경할 수 없습니다.The value cannot be changed for the model and tempdb databases. master 데이터베이스의 경우 TRUSTWORTHY 옵션을 ON으로 설정하지 않는 것이 좋습니다.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

  • PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )

    이 옵션을 지정하면 트랜잭션 로그 버퍼는 스토리지 클래스 메모리(NVDIMM-N 비휘발성 스토리지)로 지원되는 디스크 디바이스에 있는 볼륨에서 생성되며 영구적 로그 버퍼라고도 합니다.When this option is specified, the transaction log buffer is created on a volume that is located on a disk device backed by Storage Class Memory (NVDIMM-N nonvolatile storage) - also known as a persistent log buffer. 자세한 내용은 스토리지 클래스 메모리를 사용하는 트랜잭션 커밋 대기 시간 가속화 를 참조하세요.For more information, see Transaction Commit latency acceleration using Storage Class Memory. 적용 대상: SQL Server 2017(14.x)SQL Server 2017 (14.x) 이상.Applies to: SQL Server 2017(14.x)SQL Server 2017 (14.x) and newer.

FOR ATTACH [ WITH < attach_database_option > ] 기존 운영 체제 파일 집합을 연결하여 데이터베이스를 만들도록 지정합니다.FOR ATTACH [ WITH < attach_database_option > ] Specifies that the database is created by attaching an existing set of operating system files. 여기에는 주 파일을 지정하는 <filespec> 항목이 반드시 필요합니다.There must be a <filespec> entry that specifies the primary file. 또한 데이터베이스를 처음 만들었거나 마지막으로 연결했을 때의 경로와 다른 경로를 가진 파일의 <filespec> 항목이 필요합니다.The only other <filespec> entries required are those for any files that have a different path from when the database was first created or last attached. 이러한 파일에는 반드시 <filespec> 항목을 지정해야 합니다.A <filespec> entry must be specified for these files.

FOR ATTACH를 사용하려면 다음과 같은 조건을 충족해야 합니다.FOR ATTACH requires the following:

  • 모든 데이터 파일(MDF 및 NDF)을 사용할 수 있어야 합니다.All data files (MDF and NDF) must be available.
  • 로그 파일이 여러 개 있는 경우 해당 파일을 모두 사용할 수 있어야 합니다.If multiple log files exist, they must all be available.

읽기/쓰기 데이터베이스에 현재 사용할 수 없는 로그 파일이 하나 있고 연결 작업 이전에 사용자 또는 열린 트랜잭션 없이 데이터베이스가 종료된 경우 FOR ATTACH를 사용하면 자동으로 로그 파일이 다시 작성되고 주 파일이 업데이트됩니다.If a read/write database has a single log file that is currently unavailable, and if the database was shut down with no users or open transactions before the attach operation, FOR ATTACH automatically rebuilds the log file and updates the primary file. 반면에 읽기 전용 데이터베이스의 경우에는 주 파일을 업데이트할 수 없으므로 로그를 다시 작성할 수 없습니다.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. 따라서 사용할 수 없는 로그와 읽기 전용 데이터베이스를 연결할 때는 로그 파일 또는 FOR ATTACH 절 내의 파일을 제공해야 합니다.Therefore, when you attach a read-only database with a log that is unavailable, you must provide the log files, or the files in the FOR ATTACH clause.

참고

최신 버전의 SQL ServerSQL Server 에서 만든 데이터베이스를 이전 버전에서 연결할 수 없습니다.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

SQL ServerSQL Server에서는 연결 중인 데이터베이스에 속한 모든 전체 텍스트 파일이 데이터베이스에 연결됩니다.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. 전체 텍스트 카탈로그의 새 경로를 지정하려면 전체 텍스트 운영 체제 파일 이름을 제외한 새 위치를 지정합니다.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. 자세한 내용은 예 섹션을 참조하십시오.For more information, see the Examples section.

"Directory name"이 있는 FILESTREAM 옵션을 포함하는 데이터베이스를 SQL ServerSQL Server 인스턴스에 연결하면 SQL ServerSQL Server에 Database_Directory 이름이 고유한지 확인하라는 메시지가 표시됩니다.Attaching a database that contains a FILESTREAM option of "Directory name", into a SQL ServerSQL Server instance will prompt SQL ServerSQL Server to verify that the Database_Directory name is unique. 고유하지 않으면 연결 작업이 실패하고 "FILESTREAM Database_Directory 이름 <name>이(가) 이 SQL Server 인스턴스에서 고유하지 않습니다"와 같은 오류 메시지가 표시됩니다.If it is not, the attach operation fails with the error, "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance". 이 오류를 방지하려면 선택적 매개 변수 directory_name이 이 작업에 전달되어야 합니다.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

데이터베이스 스냅샷에는 FOR ATTACH를 지정할 수 없습니다.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH에 RESTRICTED_USER 옵션을 지정할 수 있습니다.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER는 db_owner 고정 데이터베이스 역할 및 dbcreator와 sysadmin 고정 서버 역할의 멤버만 데이터베이스로의 연결을 허용하지만 연결되는 수는 제한하지 않습니다.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does not limit their number. 자격이 없는 사용자의 연결 시도는 거부됩니다.Attempts by unqualified users are refused.

데이터베이스에서 Service BrokerService Broker를 사용하는 경우 다음과 같이 FOR ATTACH 절에 WITH <service_broker_option>을 사용합니다.If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option> 데이터베이스의 Service BrokerService Broker 메시지 배달 및 Service BrokerService Broker 식별자를 제어합니다.<service_broker_option> Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. Service BrokerService Broker 옵션은 FOR ATTACH 절을 사용할 때만 지정할 수 있습니다.options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKER 지정된 데이터베이스에 대해 Service BrokerService Broker를 사용할 수 있도록 지정합니다.ENABLE_BROKER Specifies that Service BrokerService Broker is enabled for the specified database. 즉, 메시지 배달이 시작되고 sys.databases 카탈로그 뷰에서 is_broker_enabled가 True로 설정됩니다.That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. 데이터베이스에 기존 Service BrokerService Broker 식별자가 유지됩니다.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKER sys.databases 및 복원된 데이터베이스에서 새 service_broker_guid를 만들고 모든 대화 엔드포인트를 정리하여 끝냅니다.NEW_BROKER Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. 이때 Service Broker가 설정되지만 원격 대화 엔드포인트에 메시지가 전송되지 않습니다.The broker is enabled, but no message is sent to the remote conversation endpoints. 이전 Service BrokerService Broker 식별자를 참조하는 경로는 새 식별자로 다시 만들어야 합니다.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONS 데이터베이스가 연결 또는 복원되었다는 오류 메시지를 표시하고 모든 대화를 끝냅니다.ERROR_BROKER_CONVERSATIONS Ends all conversations with an error stating that the database is attached or restored. Service Broker는 이 작업이 완료될 때까지 해제된 후 설정됩니다.The broker is disabled until this operation is completed and then enabled. 데이터베이스에 기존 Service BrokerService Broker 식별자가 유지됩니다.The database retains the existing Service BrokerService Broker identifier.

분리되지 않고 복사된 복제 데이터베이스를 연결하는 경우에는 다음 사항을 고려합니다.When you attach a replicated database that was copied instead of being detached, consider the following:

  • 데이터베이스를 원래 데이터베이스와 동일한 서버 인스턴스 및 버전에 연결하는 경우에는 추가 작업이 필요하지 않습니다.If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • 데이터베이스를 동일한 서버 인스턴스의 업그레이드된 버전에 연결하는 경우에는 연결 작업이 완료된 다음, sp_vupgrade_replication을 실행하여 복제를 업그레이드해야 합니다.If you attach the database to the same server instance but with an upgraded version, you must execute sp_vupgrade_replication to upgrade replication after the attach operation is complete.
  • 데이터베이스를 버전에 관계없이 다른 서버 인스턴스에 연결하는 경우에는 연결 작업이 완료된 다음, sp_removedbreplication을 실행하여 복제를 제거해야 합니다.If you attach the database to a different server instance, regardless of version, you must execute sp_removedbreplication to remove replication after the attach operation is complete.

참고

vardecimal 스토리지 형식으로 연결 작업을 수행할 수는 있지만 SQL Server 데이터베이스 엔진SQL Server Database EngineSQL Server 2005(9.x)SQL Server 2005 (9.x) 서비스 팩 2 이상으로 업그레이드해야 합니다.Attach works with the vardecimal storage format, but the SQL Server 데이터베이스 엔진SQL Server Database Engine must be upgraded to at least SQL Server 2005(9.x)SQL Server 2005 (9.x) SP2. vardecimal 스토리지 형식을 사용하는 데이터베이스는 이전 버전의 SQL ServerSQL Server에 연결할 수 없습니다.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. vardecimal 스토리지 형식에 대한 자세한 내용은 Data Compression을 참조하십시오.For more information about the vardecimal storage format, see Data Compression.

데이터베이스가 새 SQL ServerSQL Server인스턴스로 처음으로 연결되거나 복원될 때 데이터베이스 마스터 키(서비스 마스터 키로 암호화됨)의 복사본은 서버에 아직 저장되지 않은 상태입니다.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. 데이터베이스 마스터 키를 암호 해독하려면 OPEN MASTER KEY 문을 사용해야 합니다.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). DMK를 암호 해독한 후에는 ALTER MASTER KEY REGENERATE 문을 사용하여 SMK(서비스 마스터 키)로 암호화된 DMK의 복사본을 서버에 프로비전함으로써 앞으로 자동 암호 해독을 사용하도록 설정할 수 있습니다.Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). 데이터베이스가 이전 버전에서 업그레이드되지 않은 경우에는 DMK를 다시 생성해야 최신 AES 알고리즘을 사용할 수 있습니다.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. DMK를 다시 생성하는 방법은 ALTER MASTER KEY를 참조하세요.For more information about regenerating the DMK, see ALTER MASTER KEY. AES로 업그레이드하기 위해 DMK 키를 다시 생성하는 데 소요되는 시간은 DMK에서 보호하는 개체 수에 따라 달라집니다.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. AES로 업그레이드하기 위해 DMK 키를 다시 생성하는 작업은 한 번만 필요하며 키 회전 전략의 일부로 이후에 수행하는 다시 생성 작업에 영향을 주지 않습니다.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy. 연결을 사용하여 데이터베이스를 업그레이드하는 방법은 분리 및 연결을 사용하여 데이터베이스 업그레이드를 참조하세요.For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

중요

출처를 알 수 없거나 신뢰할 수 없는 데이터베이스는 연결하지 않는 것이 좋습니다.We recommend that you do not attach databases from unknown or untrusted sources. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQLTransact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다.Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. 알 수 없거나 신뢰할 수 없는 소스의 데이터베이스를 사용하기 전에 비프로덕션 서버의 데이터베이스에서 DBCC CHECKDB를 실행하여 데이터베이스에서 코드(예: 저장 프로시저 또는 다른 사용자 정의 코드)를 시험해 보세요.Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server, and also examine the code, such as stored procedures or other user-defined code, in the database.

참고

데이터베이스를 연결할 때 TRUSTWORTHYDB_CHAINING 옵션은 영향도 주지 않습니다.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOG 기존 운영 체제 파일 집합을 연결하여 데이터베이스를 만들도록 지정합니다.FOR ATTACH_REBUILD_LOG Specifies that the database is created by attaching an existing set of operating system files. 이 옵션은 읽기/쓰기 데이터베이스로 제한됩니다.This option is limited to read/write databases. 주 파일을 지정하는 <filespec> 항목이 있어야 합니다.There must be a <filespec> entry specifying the primary file. 하나 이상의 트랜잭션 로그 파일이 없으면 로그 파일이 다시 작성됩니다.If one or more transaction log files are missing, the log file is rebuilt. ATTACH_REBUILD_LOG는 1MB의 새 로그 파일을 자동으로 만듭니다.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. 이 파일은 기본 로그 파일 위치에 저장됩니다.This file is placed in the default log-file location. 이 위치에 대한 자세한 내용은 데이터 및 로그 파일의 기본 위치 보기 또는 변경 - SSMS를 참조하세요.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

참고

로그 파일이 있으면 데이터베이스 엔진Database Engine이 로그 파일을 다시 작성하지 않고 해당 파일을 사용합니다.If the log files are available, the 데이터베이스 엔진Database Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG를 사용하려면 다음과 같은 조건을 충족해야 합니다.FOR ATTACH_REBUILD_LOG requires the following:

  • 데이터베이스가 완전하게 종료된 상태여야 합니다.A clean shutdown of the database.
  • 모든 데이터 파일(MDF 및 NDF)을 사용할 수 있어야 합니다.All data files (MDF and NDF) must be available.

중요

이 작업을 실행하면 로그 백업 체인이 끊어집니다.This operation breaks the log backup chain. 따라서 작업이 완료된 후 전체 데이터베이스 백업을 수행하는 것이 좋습니다.We recommend that a full database backup be performed after the operation is completed. 자세한 내용은 BACKUP을 참조하세요.For more information, see BACKUP.

일반적으로 FOR ATTACH_REBUILD_LOG는 로그 크기가 큰 읽기/쓰기 데이터베이스를 복사본이 주로 읽기 작업에만 사용되어 원본 데이터베이스에 비해 로그 공간이 덜 필요한 다른 서버에 복사할 때 사용됩니다.Typically, FOR ATTACH_REBUILD_LOG is used when you copy a read/write database with a large log to another server where the copy will be used mostly, or only, for read operations, and therefore requires less log space than the original database.

데이터베이스 스냅샷에는 FOR ATTACH_REBUILD_LOG를 지정할 수 없습니다.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

데이터베이스를 연결 및 분리하는 방법은 데이터베이스 분리 및 연결을 참조하세요.For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec> 파일 속성을 제어합니다.<filespec> Controls the file properties.

NAME logical_file_name 파일의 논리적 이름을 지정합니다.NAME logical_file_name Specifies the logical name for the file. FOR ATTACH 절 중 하나를 지정하는 경우가 아니면 FILENAME이 지정될 때 NAME이 필요합니다.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. FILESTREAM 파일 그룹 이름은 PRIMARY로 지정할 수 없습니다.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name 파일 참조 시 SQL ServerSQL Server에서 사용하는 논리적 이름입니다.logical_file_name Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name은 데이터베이스에서 고유해야 하며 식별자에 대한 규칙을 따라야 합니다.Logical_file_name must be unique in the database and comply with the rules for identifiers. 이 이름은 문자 상수, 유니코드 상수, 일반 식별자 또는 구분 식별자가 될 수 있습니다.The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { ' os_file_name ' | ' filestream_path ' } 운영 체제(물리적) 파일 이름을 지정합니다.FILENAME { 'os_file_name' | 'filestream_path' } Specifies the operating system (physical) file name.

' os_file_name ' 파일을 만들 때 운영 체제에서 사용한 경로와 파일 이름입니다.' os_file_name ' Is the path and file name used by the operating system when you create the file. 파일은 SQL ServerSQL Server가 설치된 로컬 서버, SAN(스토리지 영역 네트워크) 또는 iSCSI 기반 네트워크 중 하나의 디바이스에 있어야 합니다.The file must reside on one of the following devices: the local server on which SQL ServerSQL Server is installed, a Storage Area Network [SAN], or an iSCSI-based network. 지정한 경로는 CREATE DATABASE 문을 실행하기 전에 반드시 존재해야 합니다.The specified path must exist before executing the CREATE DATABASE statement. 자세한 내용은 주의 사항 섹션의 "데이터베이스 파일 및 파일 그룹"을 참조하십시오.For more information, see "Database Files and Filegroups" in the Remarks section.

파일에 UNC 경로가 지정되면 SIZE, MAXSIZE 및 FILEGROWTH 매개 변수를 설정할 수 있습니다.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

파일이 원시 파티션에 있는 경우 os_file_name은 기존 원시 파티션의 드라이브 문자만 지정해야 합니다.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. 각 원시 파티션에는 데이터 파일을 하나만 만들 수 있습니다.Only one data file can be created on each raw partition.

파일이 읽기 전용 보조 파일이 아니거나 데이터베이스가 읽기 전용이 아니면 데이터 파일을 압축 파일 시스템에 저장하지 마십시오.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. 또한 로그 파일을 압축 파일 시스템에 저장하면 안 됩니다.Log files should never be put on compressed file systems.

' filestream_path ' FILENAME 파일 그룹의 경우 FILENAME은 FILESTREAM 데이터가 저장될 경로를 참조합니다.' filestream_path ' For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. 따라서 마지막 폴더 바로 위의 경로까지 있어야 하고 마지막 폴더 자체는 있으면 안 됩니다.The path up to the last folder must exist, and the last folder must not exist. 예를 들어 C:\MyFiles\MyFilestreamData 경로를 지정하는 경우 ALTER DATABASE를 실행하기 전에 C:\MyFiles 경로가 있어야 하지만 MyFilestreamData 폴더는 있으면 안 됩니다.For example, if you specify the path C:\MyFiles\MyFilestreamData, C:\MyFiles must exist before you run ALTER DATABASE, but the MyFilestreamData folder must not exist.

파일 그룹과 파일(<filespec>)은 같은 문으로 만들어야 합니다.The filegroup and file (<filespec>) must be created in the same statement.

SIZE 및 FILEGROWTH 속성은 FILESTREAM 파일 그룹에 적용되지 않습니다.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size 파일의 크기를 지정합니다.SIZE size Specifies the size of the file.

os_file_name이 UNC 경로로 지정된 경우에는 SIZE를 지정할 수 없습니다.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE는 FILESTREAM 파일 그룹에 적용되지 않습니다.SIZE does not apply to a FILESTREAM filegroup.

size 파일의 처음 크기입니다.size Is the initial size of the file.

기본 파일에 대해 size를 지정하지 않으면 데이터베이스 엔진Database Engine에서는 model 데이터베이스의 기본 파일 크기를 사용합니다.When size is not supplied for the primary file, the 데이터베이스 엔진Database Engine uses the size of the primary file in the model database. model의 기본 크기는 8MB(SQL Server 2016(13.x)SQL Server 2016 (13.x)부터) 또는 1MB(이전 버전)입니다.The default size of model is 8 MB (beginning with SQL Server 2016(13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). 보조 데이터 파일 또는 로그 파일을 지정하고 해당 파일의 size를 지정하지 않으면 데이터베이스 엔진Database Engine에서 파일 크기를 8MB(SQL Server 2016(13.x)SQL Server 2016 (13.x)부터) 또는 1MB(이전 버전)로 지정합니다.When a secondary data file or log file is specified, but size is not specified for the file, the 데이터베이스 엔진Database Engine makes the file 8 MB (beginning with SQL Server 2016(13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). 주 파일에 지정된 크기는 최소한 model 데이터베이스의 주 파일 크기와 같아야 합니다.The size specified for the primary file must be at least as large as the primary file of the model database.

KB(킬로바이트), MB(메가바이트), GB(기가바이트) 또는 TB(테라바이트) 접미사를 사용할 수 있습니다.The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. 기본값은 MB입니다.The default is MB. 소수점이 포함되지 않은 정수를 지정하십시오.Specify a whole number; do not include a decimal. Size는 정수 값입니다.Size is an integer value. 2147483647보다 큰 값에는 더 큰 단위를 사용합니다.For values greater than 2147483647, use larger units.

MAXSIZE max_size 파일이 증가할 수 있는 최대 크기를 지정합니다.MAXSIZE max_size Specifies the maximum size to which the file can grow. os_file_name이 UNC 경로로 지정된 경우에는 MAXSIZE를 지정할 수 없습니다.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size 최대 파일 크기입니다.max_size Is the maximum file size. KB, MB, GB 및 TB 접미사를 사용할 수 있습니다.The KB, MB, GB, and TB suffixes can be used. 기본값은 MB입니다.The default is MB. 소수점이 포함되지 않은 정수를 지정하십시오.Specify a whole number; do not include a decimal. max_size를 지정하지 않으면 디스크가 꽉 찰 때까지 파일이 커집니다.If max_size is not specified, the file grows until the disk is full. Max_size는 정수 값입니다.Max_size is an integer value. 2147483647보다 큰 값에는 더 큰 단위를 사용합니다.For values greater than 2147483647, use larger units.

UNLIMITED 디스크가 꽉 찰 때까지 파일 크기가 증가하도록 지정합니다.UNLIMITED Specifies that the file grows until the disk is full. SQL ServerSQL Server에서 무제한 증가로 지정된 로그 파일의 최대 크기는 2TB이고 데이터 파일의 최대 크기는 16TB입니다.In SQL ServerSQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.

참고

이 옵션이 FILESTREAM 컨테이너에 지정되면 최대 크기가 없습니다.There is no maximum size when this option is specified for a FILESTREAM container. 디스크가 꽉 찰 때까지 파일이 증가합니다.It continues to grow until the disk is full.

FILEGROWTH growth_increment 파일의 자동 증분을 지정합니다.FILEGROWTH growth_increment Specifies the automatic growth increment of the file. 파일의 FILEGROWTH 설정은 MAXSIZE 설정을 초과할 수 없습니다.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. os_file_name이 UNC 경로로 지정된 경우에는 FILEGROWTH를 지정할 수 없습니다.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH는 FILESTREAM 파일 그룹에 적용되지 않습니다.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment 공간이 새로 필요할 때마다 파일에 추가되는 공간 크기입니다.growth_increment Is the amount of space added to the file every time new space is required.

이 값은 MB, KB, GB, TB 또는 %(퍼센트) 단위로 지정할 수 있습니다.The value can be specified in MB, KB, GB, TB, or percent (%). MB, KB 또는 % 접미사를 붙이지 않고 숫자를 지정하면 MB가 기본값이 됩니다.If a number is specified without an MB, KB, or % suffix, the default is MB. %가 지정되면 증분 크기는 파일 크기 증가가 발생하는 시점에서 해당 파일 크기에 대한 특정 비율입니다.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. 지정한 크기는 64KB 단위로 반올림되며 최소 값은 64KB입니다.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

값이 0이면 자동 증가가 해제되어 있고 추가 공간이 허용되지 않음을 나타냅니다.A value of 0 indicates that automatic growth is off and no additional space is allowed.

FILEGROWTH를 지정하지 않은 경우 기본값은 다음과 같습니다.If FILEGROWTH is not specified, the default values are:

버전Version 기본값Default values
SQL Server 2016(13.x)SQL Server 2016 (13.x)부터Beginning SQL Server 2016(13.x)SQL Server 2016 (13.x) 데이터는 64MB입니다.Data 64 MB. 로그 파일은 64MB입니다.Log files 64 MB.
SQL Server 2005(9.x)SQL Server 2005 (9.x)부터Beginning SQL Server 2005(9.x)SQL Server 2005 (9.x) 데이터는 1MB입니다.Data 1 MB. 로그 파일은 10%입니다.Log files 10%.
SQL Server 2005(9.x)SQL Server 2005 (9.x) 이전Prior to SQL Server 2005(9.x)SQL Server 2005 (9.x) 데이터는 10%입니다.Data 10%. 로그 파일은 10%입니다.Log files 10%.

<filegroup> 파일 그룹 속성을 제어합니다.<filegroup> Controls the filegroup properties. 데이터베이스 스냅샷에는 파일 그룹을 지정할 수 없습니다.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name 파일 그룹의 논리적 이름입니다.FILEGROUP filegroup_name Is the logical name of the filegroup.

filegroup_name filegroup_name은 데이터베이스 내에서 고유해야 하고 시스템에서 제공한 이름인 PRIMARY 및 PRIMARY_LOG일 수 없습니다.filegroup_name filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. 이 이름은 문자 상수, 유니코드 상수, 일반 식별자 또는 구분 식별자가 될 수 있습니다.The name can be a character or Unicode constant, or a regular or delimited identifier. 이 이름은 식별자에 대한 규칙을 따라야 합니다.The name must comply with the rules for identifiers.

CONTAINS FILESTREAM 파일 그룹이 FILESTREAM BLOB(Binary Large Object)을 파일 시스템에 저장하도록 지정합니다.CONTAINS FILESTREAM Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

적용 대상: SQL Server 2014(12.x)SQL Server 2014 (12.x) 이상Applies to: SQL Server 2014(12.x)SQL Server 2014 (12.x) and later

파일 그룹이 memory_optimized 데이터를 파일 시스템에 저장하도록 지정합니다.Specifies that the filegroup stores memory_optimized data in the file system. 자세한 내용은 메모리 내 OLTP - 메모리 내 최적화를 참조하세요.For more information, see In-Memory OLTP - In-Memory Optimization. 데이터베이스당 MEMORY_OPTIMIZED_DATA 파일 그룹이 하나만 허용됩니다.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. 메모리 최적화 데이터를 저장하기 위해 파일 그룹을 만드는 코드 샘플은 메모리 최적화 테이블 및 고유하게 컴파일된 저장 프로시저 만들기를 참조하세요.For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULT 명명한 파일 그룹을 데이터베이스의 기본 파일 그룹으로 지정합니다.DEFAULT Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name 새 데이터베이스 스냅샷의 이름입니다.database_snapshot_name Is the name of the new database snapshot. 데이터베이스 스냅샷 이름은 SQL ServerSQL Server 인스턴스 내에서 고유해야 하며 식별자에 대한 규칙을 따라야 합니다.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name은 최대 128자까지 가능합니다.database_snapshot_name can be a maximum of 128 characters.

ON ( NAME = logical_file_name , FILENAME =' os_file_name ') [ , ... n ] 데이터베이스 스냅샷을 만들기 위해 원본 데이터베이스의 파일 목록을 지정합니다.ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ] For creating a database snapshot, specifies a list of files in the source database. 스냅샷이 동작하려면 모든 데이터 파일을 개별적으로 지정해야 합니다.For the snapshot to work, all the data files must be specified individually. 그러나 데이터베이스 스냅샷에는 로그 파일이 허용되지 않습니다.However, log files are not allowed for database snapshots. FILESTREAM 파일 그룹은 데이터베이스 스냅샷에서 지원되지 않습니다.FILESTREAM filegroups are not supported by database snapshots. FILESTREAM 데이터 파일이 CREATE DATABASE ON 절에 포함되어 있으면 문이 실패하고 오류가 발생합니다.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

NAME, FILENAME 및 각 값에 대한 설명은 해당 <filespec> 값의 설명을 참조하세요.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

참고

데이터베이스 스냅샷을 만들 때는 다른 <filespec> 옵션 및 PRIMARY 키워드를 사용할 수 없습니다.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name 만들고 있는 데이터베이스를 source_database_name에 지정된 원본 데이터베이스의 데이터베이스 스냅샷으로 지정합니다.AS SNAPSHOT OF source_database_name Specifies that the database being created is a database snapshot of the source database specified by source_database_name. 스냅샷 및 원본 데이터베이스는 같은 인스턴스에 있어야 합니다.The snapshot and source database must be on the same instance.

자세한 내용은 주의 사항 섹션의 데이터베이스 스냅샷을 참조하세요.For more information, see Database Snapshots in the Remarks section.

설명Remarks

사용자 데이터베이스를 생성, 수정 또는 삭제할 때마다 마스터 데이터베이스를 백업해야 합니다.The master database should be backed up whenever a user database is created, modified, or dropped.

CREATE DATABASE 문은 자동 커밋 모드(기본 트랜잭션 관리 모드)에서 실행되어야 하며 명시적 또는 암시적 트랜잭션에서는 허용되지 않습니다.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

CREATE DATABASE 문 하나를 사용하여 데이터베이스 및 해당 데이터베이스를 저장하는 파일을 만들 수 있습니다.You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server에서는 다음과 같은 단계로 CREATE DATABASE 문을 구현합니다.implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server에서 model 데이터베이스의 복사본을 사용하여 데이터베이스 및 해당 메타데이터를 초기화합니다.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. 데이터베이스에 Service Broker GUID가 할당됩니다.A service broker GUID is assigned to the database.
  3. 데이터베이스 엔진Database Engine에서 데이터베이스 내의 공간 사용 방법을 기록하는 내부 데이터가 포함된 페이지를 제외하고 데이터베이스의 나머지 부분을 빈 페이지로 채웁니다.The 데이터베이스 엔진Database Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.

하나의 SQL ServerSQL Server인스턴스당 최대 32,767개의 데이터베이스를 지정할 수 있습니다.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

각 데이터베이스에는 해당 데이터베이스에서 특수한 작업을 수행할 수 있는 소유자가 있습니다.Each database has an owner that can perform special activities in the database. 소유자는 데이터베이스를 만든 사용자입니다.The owner is the user that creates the database. ALTER AUTHORIZATION를 사용하여 데이터베이스 소유자를 변경할 수 있습니다.The database owner can be changed by using ALTER AUTHORIZATION.

일부 데이터베이스 기능은 파일 시스템의 기능이 있어야 데이터베이스의 모든 기능을 사용할 수 있습니다.Some database features depend on features or capabilities present in the file system for full functionality of a database. 파일 시스템 기능 집합이 필요한 일부 기능의 예를 들면 다음과 같습니다.Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • VSS 및 파일 스냅샷을 이용한 온라인 백업Online backups using VSS and file snapshots
  • 데이터베이스 스냅샷 생성Database snapshot creation
  • 메모리 최적화 데이터 파일 그룹Memory Optimized Data filegroup

데이터베이스 파일 및 파일 그룹Database Files and Filegroups

모든 데이터베이스에는 주 파일트랜잭션 로그 파일이라는 2개의 파일과 하나 이상의 파일 그룹이 있습니다.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. 각 데이터베이스에 최대 32,767개의 파일과 32,767개의 파일 그룹을 지정할 수 있습니다.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

데이터베이스를 만들 때는 데이터베이스에서 예상되는 최대 데이터 크기를 고려하여 데이터 파일을 가능한 한 크게 만드는 것이 좋습니다.When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database.

SQL ServerSQL Server의 성능과 안정성을 최적화하는 구성을 위해 SAN(스토리지 영역 네트워크), iSCSI 기반 네트워크 또는 로컬로 연결된 디스크에 SQL ServerSQL Server 데이터베이스 파일을 스토리지하는 것이 좋습니다.We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL ServerSQL Server database files, because this configuration optimizes SQL ServerSQL Server performance and reliability.

데이터베이스 스냅샷Database Snapshots

CREATE DATABASE 문을 사용하여 원본 데이터베이스의 읽기 전용 정적 뷰인 데이터베이스 스냅샷을 만들 수 있습니다.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. 데이터베이스 스냅샷은 스냅샷을 만들었을 당시의 원본 데이터베이스와 트랜잭션 측면에서 일관성을 가집니다.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. 원본 데이터베이스 하나에 스냅샷이 여러 개 있을 수 있습니다.A source database can have multiple snapshots.

참고

데이터베이스 스냅샷을 만드는 경우 CREATE DATABASE 문은 로그 파일, 오프라인 파일, 복원 파일 및 존재하지 않는 파일을 참조할 수 없습니다.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

데이터베이스 스냅샷 만들기에 실패한 경우 해당 스냅샷은 주의 대상이 되며 삭제해야 합니다.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. 자세한 내용은 DROP DATABASE를 참조하세요.For more information, see DROP DATABASE.

각 스냅샷은 DROP DATABASE를 사용하여 삭제할 때까지 그대로 유지됩니다.Each snapshot persists until it is deleted by using DROP DATABASE.

자세한 내용은 데이터베이스 스냅샷을 참조하세요.For more information, see Database Snapshots.

데이터베이스 옵션Database Options

데이터베이스를 만들 때마다 몇 가지 데이터베이스 옵션이 자동으로 설정됩니다.Several database options are automatically set whenever you create a database. 이러한 옵션에 대한 자세한 내용은 ALTER DATABASE SET 옵션을 참조하세요.For a list of these options, see ALTER DATABASE SET Options.

새 데이터베이스 만들기 및 model 데이터베이스The model Database and Creating New Databases

model 데이터베이스에 있는 모든 사용자 정의 개체는 새로 만든 데이터베이스에 복사됩니다.All user-defined objects in the model database are copied to all newly created databases. 테이블, 뷰, 저장 프로시저, 데이터 형식 등의 모든 개체를 model 데이터베이스에 추가하여 새로 만든 모든 데이터베이스에 포함할 수 있습니다.You can add any objects, such as tables, views, stored procedures, data types, and so on, to the model database to be included in all newly created databases.

크기 매개 변수를 추가하지 않고 CREATE DATABASE <database_name> 문을 지정하면 model 데이터베이스의 주 파일과 크기가 같은 주 데이터 파일이 만들어집니다.When a CREATE DATABASE <database_name> statement is specified without additional size parameters, the primary data file is made the same size as the primary file in the model database.

FOR ATTACH를 지정하지 않은 경우 모든 새 데이터베이스는 model 데이터베이스에서 데이터베이스 옵션 설정을 상속합니다.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. 예를 들어 자동 축소와 같은 데이터베이스 옵션은 model 데이터베이스와 새로 만드는 모든 데이터베이스에서 true로 설정됩니다.For example, the database option auto shrink is set to true in model and in any new databases you create. model 데이터베이스에서 옵션을 변경하면 새로 만드는 모든 데이터베이스에 이러한 새 옵션 설정이 사용됩니다.If you change the options in the model database, these new option settings are used in any new databases you create. 기존 데이터베이스는 model 데이터베이스 변경 내용의 영향을 받지 않습니다.Changing operations in the model database does not affect existing databases. CREATE DATABASE 문에 FOR ATTACH를 지정하는 경우 새 데이터베이스는 원본 데이터베이스의 데이터베이스 옵션 설정을 상속합니다.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

데이터베이스 정보 보기Viewing Database Information

카탈로그 뷰, 시스템 함수 및 시스템 저장 프로시저를 사용하여 데이터베이스, 파일 및 파일 그룹에 대한 정보를 반환할 수 있습니다.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups. 자세한 내용은 시스템 뷰를 참조하세요.For more information, see System Views.

사용 권한Permissions

CREATE DATABASE, CREATE ANY DATABASE 또는 ALTER ANY DATABASE 권한이 필요합니다.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

SQL ServerSQL Server인스턴스의 디스크 사용을 제어하기 위해 일반적으로 데이터베이스를 만들 수 있는 사용 권한은 일부 로그인 계정으로 제한됩니다.To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.

다음 예에서는 데이터베이스 사용자 Fay에게 데이터베이스를 만들 수 있는 권한을 제공합니다.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE DATABASE TO [Fay];
GO

데이터 및 로그 파일에 대한 사용 권한Permissions on Data and Log Files

SQL ServerSQL Server에서는 각 데이터베이스의 데이터 및 로그 파일에 특정 사용 권한이 설정됩니다.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. 데이터베이스에 다음 작업이 적용될 때마다 다음과 같은 사용 권한이 설정됩니다.The following permissions are set whenever the following operations are applied to a database:

  • 연결Attached
  • 백업Backed up
  • 생성일Created
  • 분리Detached
  • 새 파일을 추가하기 위해 수정됨Modified to add a new file
  • 복원Restored

이러한 사용 권한을 설정하면 누구나 액세스할 수 있는 디렉터리에 있는 파일이 실수로 변경되는 것을 방지할 수 있습니다.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

참고

MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition은 데이터 및 로그 파일 권한을 설정하지 않습니다.SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

예제Examples

A.A. 파일을 지정하지 않고 데이터베이스 만들기Creating a database without specifying files

다음 예에서는 mytest 데이터베이스를 만들고 해당 주 파일 및 트랜잭션 로그 파일을 만듭니다.The following example creates the database mytest and creates a corresponding primary and transaction log file. 문에 <filespec> 항목이 없으므로 주 데이터베이스 파일의 크기는 model 데이터베이스 주 파일의 크기와 같습니다.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. 트랜잭션 로그는 주 데이터 파일의 25% 크기 또는 512KB 중 큰 값으로 설정됩니다.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. MAXSIZE를 지정하지 않았으므로 사용 가능한 디스크 공간을 모두 채울 때까지 파일 크기가 증가할 수 있습니다.Because MAXSIZE is not specified, the files can grow to fill all available disk space. 이 예에서는 mytest 데이터베이스를 만들기 전에 mytest라는 데이터베이스(있는 경우)를 삭제하는 방법도 보여 줍니다.This example also demonstrates how to drop the database named mytest if it exists, before creating the mytest database.

USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.B. 데이터 파일 및 트랜잭션 로그 파일을 지정하는 데이터베이스 만들기Creating a database that specifies the data and transaction log files

다음 예에서는 Sales 데이터베이스를 만듭니다.The following example creates the database Sales. 주 키워드를 사용하지 않았으므로 첫 번째 파일(Sales_dat)이 주 파일이 됩니다.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Sales_dat 파일의 SIZE 매개 변수에 MB 또는 KB를 지정하지 않았으므로 기본값 MB를 사용하여 할당됩니다.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. 사용자 데이터베이스를 생성, 수정 또는 삭제할 때마다 Sales_log 파일은 MB 매개 변수에 명시적으로 SIZE 접미사를 지정했으므로 메가바이트(MB)로 공간이 할당됩니다.The Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

C.C. 데이터 파일 및 트랜잭션 로그 파일을 여러 개 지정하여 데이터베이스 만들기Creating a database by specifying multiple data and transaction log files

다음 예에서는 3개의 Archive 데이터 파일과 2개의 100-MB 트랜잭션 로그 파일을 가진 100-MB 데이터베이스를 만듭니다.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. 주 파일은 목록의 첫 번째 파일이며 PRIMARY 키워드로 명시적으로 지정되어 있습니다.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. 트랜잭션 로그 파일은 LOG ON 키워드 다음에 지정됩니다.The transaction log files are specified following the LOG ON keywords. FILENAME 옵션에서 파일에 사용된 확장명에 유의하십시오. 주 데이터 파일에는 .mdf, 보조 데이터 파일에는 .ndf, 트랜잭션 로그 파일에는 .ldf가 각각 사용됩니다.Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. 이 예에서는 데이터베이스를 D: 데이터베이스와 함께 배치하는 대신 master 드라이브에 배치합니다.This example places the database on the D: drive instead of with the master database.

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
    (NAME = Arch1,
    FILENAME = 'D:\SalesData\archdat1.mdf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20)
LOG ON
  (NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
  (NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20) ;
GO

D.D. 파일 그룹이 있는 데이터베이스 만들기Creating a database that has filegroups

다음 예에서는 아래에 나열된 파일 그룹을 포함하는 Sales 데이터베이스를 만듭니다.The following example creates the database Sales that has the following filegroups:

  • Spri1_datSpri2_dat 파일을 포함하는 주 파일 그룹.The primary filegroup with the files Spri1_dat and Spri2_dat. 이러한 파일의 FILEGROWTH 증가분은 15%로 지정됩니다.The FILEGROWTH increments for these files are specified as 15%.
  • SalesGroup1SGrp1Fi1 파일을 포함하는 SGrp1Fi2 파일 그룹A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • SalesGroup2SGrp2Fi1 파일을 포함하는 SGrp2Fi2 파일 그룹A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

이 예에서는 성능을 향상시키기 위해 데이터 파일과 로그 파일을 서로 다른 디스크에 배치합니다.This example places the data and log files on different disks to improve performance.

USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = 'D:\SalesData\SPri1dat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = 'D:\SalesData\SPri2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'E:\SalesLog\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

E.E. 데이터베이스 연결Attaching a database

다음 예에서는 예 4에서 만든 Archive 데이터베이스를 분리한 다음, FOR ATTACH 절을 사용하여 데이터베이스를 연결합니다.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive는 데이터 파일과 로그 파일을 여러 개 포함하도록 정의되었습니다.Archive was defined to have multiple data and log files. 그러나 파일을 만든 후 위치를 변경하지 않았으므로 FOR ATTACH 절에 주 파일만 지정해야 합니다.However, because the location of the files has not changed since they were created, only the primary file has to be specified in the FOR ATTACH clause. SQL Server 2005(9.x)SQL Server 2005 (9.x)부터는 연결 중인 데이터베이스에 속한 모든 전체 텍스트 파일이 데이터베이스에 연결됩니다.Beginning with SQL Server 2005(9.x)SQL Server 2005 (9.x), any full-text files that are part of the database that is being attached will be attached with the database.

USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
  ON (FILENAME = 'D:\SalesData\archdat1.mdf')
  FOR ATTACH ;
GO

F.F. 데이터베이스 스냅샷 만들기Creating a database snapshot

다음 예에서는 sales_snapshot0600 데이터베이스 스냅샷을 만듭니다.The following example creates the database snapshot sales_snapshot0600. 데이터베이스 스냅샷은 읽기 전용이므로 로그 파일을 지정할 수 없습니다.Because a database snapshot is read-only, a log file cannot be specified. 구문에 맞게 원본 데이터베이스의 모든 파일을 지정하며 파일 그룹은 지정하지 않습니다.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

이 예의 원본 데이터베이스는 예 4에서 만든 Sales 데이터베이스입니다.The source database for this example is the Sales database created in example D.

USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO

G.G. 데이터베이스 만들기 및 데이터 정렬 이름과 옵션 지정Creating a database and specifying a collation name and options

다음 예에서는 MyOptionsTest 데이터베이스를 만듭니다.The following example creates the database MyOptionsTest. 데이터 정렬 이름을 지정하고 TRUSTYWORTHYDB_CHAINING 옵션을 ON으로 설정합니다.A collation name is specified and the TRUSTYWORTHY and DB_CHAINING options are set to ON.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

H.H. 이동된 전체 텍스트 카탈로그 연결Attaching a full-text catalog that has been moved

다음 예에서는 AdvWksFtCat 전체 텍스트 카탈로그를 AdventureWorks2012 데이터 및 로그 파일과 연결합니다.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. 이 예에서는 전체 텍스트 카탈로그를 기본 위치에서 새 위치 c:\myFTCatalogs로 이동하고In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. 데이터 및 로그 파일은 기본 위치에 그대로 남아 있습니다.The data and log files remain in their default locations.

USE master;
GO
--Detach the AdventureWorks2012 database
sp_detach_db AdventureWorks2012;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2012 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2012 ON
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_data.mdf'),
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'),
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO

9.I. 행 파일 그룹 하나와 FILESTREAM 파일 그룹 두 개를 지정하는 데이터베이스 만들기Creating a database that specifies a row filegroup and two FILESTREAM filegroups

다음 예에서는 FileStreamDB 데이터베이스를 만듭니다.The following example creates the FileStreamDB database. 이 데이터베이스에는 행 파일 그룹 하나와 FILESTREAM 파일 그룹 두 개가 있습니다.The database is created with one row filegroup and two FILESTREAM filegroups. 각 파일 그룹에는 다음과 같이 하나의 파일이 포함됩니다.Each filegroup contains one file:

  • FileStreamDB_data는 행 데이터를 포함합니다.FileStreamDB_data contains row data. 여기에는 기본 경로가 지정된 FileStreamDB_data.mdf 파일 하나가 포함됩니다.It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos는 FILESTREAM 데이터를 포함합니다.FileStreamPhotos contains FILESTREAM data. 여기에는 두 개의 FILESTREAM 데이터 컨테이너가 포함됩니다. 하나는 FSPhotos에 있는 C:\MyFSfolder\Photos이고 다른 하나는 FSPhotos2에 있는 D:\MyFSfolder\Photos입니다.It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. 이 그룹은 기본 FILESTREAM 파일 그룹으로 표시됩니다.It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes는 FILESTREAM 데이터를 포함합니다.FileStreamResumes contains FILESTREAM data. 여기에는 FSResumes에 있는 FILESTREAM 데이터 컨테이너 C:\MyFSfolder\Resumes가 포함됩니다.It contains one FILESTREAM data container, FSResumes, located at C:\MyFSfolder\Resumes.
USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
      FROM master.sys.master_files
      WHERE database_id = 1 AND file_id = 1);

 -- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
    (
    NAME = FileStreamDB_data
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
    ,SIZE = 10MB
    ,MAXSIZE = 50MB
    ,FILEGROWTH = 15%
    ),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
    (
    NAME = FSPhotos
    ,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE and FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
, MAXSIZE = 5000 MB
    ),
    (
      NAME = FSPhotos2
      , FILENAME = ''D:\MyFSfolder\Photos''
      , MAXSIZE = 10000 MB
     ),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
    (
    NAME = FileStreamResumes
    ,FILENAME = ''C:\MyFSfolder\Resumes''
    )
LOG ON
    (
    NAME = FileStream_log
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
    ,SIZE = 5MB
    ,MAXSIZE = 25MB
    ,FILEGROWTH = 5MB
    )'
);
GO

J.J. 여러 파일이 포함된 FILESTREAM 파일 그룹이 있는 데이터베이스 만들기Creating a database that has a FILESTREAM filegroup with multiple files

다음 예에서는 BlobStore1 데이터베이스를 만듭니다.The following example creates the BlobStore1 database. 이 데이터베이스에는 행 파일 그룹 하나와 FILESTREAM 파일 그룹 하나(FS)가 있습니다.The database is created with one row filegroup and one FILESTREAM filegroup, FS. FILESTREAM 파일 그룹에는 두 개의 파일(FS1FS2)이 포함됩니다.The FILESTREAM filegroup contains two files, FS1 and FS2. 그런 다음 세 번째 파일(FS3)을 FILESTREAM 파일 그룹에 추가하여 데이터베이스를 변경합니다.Then the database is altered by adding a third file, FS3, to the FILESTREAM filegroup.

USE master;
GO

CREATE DATABASE [BlobStore1]
CONTAINMENT = NONE
ON PRIMARY
(
    NAME = N'BlobStore1',
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
(  
    NAME = N'FS1',
    FILENAME = N'C:\BlobStore\FS1',
    MAXSIZE = UNLIMITED
),
(
    NAME = N'FS2',
    FILENAME = N'C:\BlobStore\FS2',
    MAXSIZE = 100MB
)
LOG ON
(
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 1MB
);
GO

ALTER DATABASE [BlobStore1]
ADD FILE
(
    NAME = N'FS3',
    FILENAME = N'C:\BlobStore\FS3',
    MAXSIZE = 100MB
)
TO FILEGROUP [FS];
GO

참고 항목See Also

* SQL Database ** SQL Database *

 

SQL DatabaseSQL Database

개요Overview

Azure SQL DatabaseAzure SQL Database에서 이 명령문은 Azure SQL Server와 함께 사용하여 단일 데이터베이스 또는 탄력적 풀의 데이터베이스를 만들 수 있습니다.In Azure SQL DatabaseAzure SQL Database, this statement can be used with an Azure SQL server to create a single database or a database in an elastic pool. 이 문을 사용하여 데이터베이스 이름, 데이터 정렬, 최대 크기, 버전, 서비스 목표 및 새 데이터베이스의 탄력적 풀(해당하는 경우)을 지정합니다.With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. 탄력적 풀에서 데이터베이스를 만드는 데 사용할 수도 있습니다.It can also be used to create the database in an elastic pool. 또한 다른 SQL Database 서버에서 데이터베이스 복사본을 만드는 데 사용할 수 있습니다.Additionally, it can be used to create a copy of the database on another SQL Database server.

구문Syntax

데이터베이스 만들기Create a database

CREATE DATABASE database_name [ COLLATE collation_name ]
{
  (<edition_options> [, ...n])
}
[ WITH <with_options> [,..n]]
[;]

<with_options> ::=
{
  CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }
  | BACKUP_STORAGE_REDUNDANCY = { 'LOCAL' | 'ZONE' | 'GEO' }
}

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | ( EDITION = { 'Basic' | 'Standard' | 'Premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale' }
  | SERVICE_OBJECTIVE =
    { 'Basic' | 'S0' | 'S1' | 'S2' | 'S3' | 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen4_1' | 'GP_Gen4_2' | 'GP_Gen4_3' | 'GP_Gen4_4' | 'GP_Gen4_5' | 'GP_Gen4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'GP_Fsv2_8' | 'GP_Fsv2_10' | 'GP_Fsv2_12' | 'GP_Fsv2_14' | 'GP_Fsv2_16' | 'GP_Fsv2_18'
      | 'GP_Fsv2_20' | 'GP_Fsv2_24' | 'GP_Fsv2_32' | 'GP_Fsv2_36' | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'GP_S_Gen5_18' | 'GP_S_Gen5_20' | 'GP_S_Gen5_24' | 'GP_S_Gen5_32' | 'GP_S_Gen5_40'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_8' | 'BC_M_10' | 'BC_M_12' | 'BC_M_14' | 'BC_M_16' | 'BC_M_18'
      | 'BC_M_20' | 'BC_M_24' | 'BC_M_32' | 'BC_M_64' | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
}

데이터베이스 복사Copy a database

CREATE DATABASE database_name
    AS COPY OF [source_server_name.] source_database_name
    [ ( SERVICE_OBJECTIVE =
      { 'Basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen4_1' | 'GP_Gen4_2' | 'GP_Gen4_3' | 'GP_Gen4_4' | 'GP_Gen4_5' | 'GP_Gen4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'GP_Fsv2_8' | 'GP_Fsv2_10' | 'GP_Fsv2_12' | 'GP_Fsv2_14' | 'GP_Fsv2_16' | 'GP_Fsv2_18'
      | 'GP_Fsv2_20' | 'GP_Fsv2_24' | 'GP_Fsv2_32' | 'GP_Fsv2_36' | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'GP_S_Gen5_18' | 'GP_S_Gen5_20' | 'GP_S_Gen5_24' | 'GP_S_Gen5_32' | 'GP_S_Gen5_40'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_8' | 'BC_M_10' | 'BC_M_12' | 'BC_M_14' | 'BC_M_16' | 'BC_M_18'
      | 'BC_M_20' | 'BC_M_24' | 'BC_M_32' | 'BC_M_64' | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
   ]
[;]

인수Arguments

database_name 새 데이터베이스의 이름입니다.database_name The name of the new database. 이 이름은 SQL ServerSQL Server에서 고유해야 하며 식별자에 대한 SQL ServerSQL Server 규칙을 따라야 합니다.This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. 자세한 내용은 식별자를 참조하세요.For more information, see Identifiers.

Collation_name 데이터베이스의 기본 데이터 정렬을 지정합니다.Collation_name Specifies the default collation for the database. 데이터 정렬 이름으로는 Windows 데이터 정렬 이름 또는 SQL 데이터 정렬 이름을 사용할 수 있습니다.Collation name can be either a Windows collation name or a SQL collation name. 지정되지 않는 경우 해당 데이터베이스가 기본 데이터 정렬 SQL_Latin1_General_CP1_CI_AS에 할당됩니다.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows 및 SQL 데이터 정렬 이름에 대한 자세한 내용은 COLLATE(Transact-SQL)를 참조하세요.For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATION 메타데이터 카탈로그의 기본 데이터 정렬을 지정합니다.CATALOG_COLLATION Specifies the default collation for the metadata catalog. DATABASE_DEFAULT는 시스템 뷰와 시스템 테이블에 사용된 메타데이터 카탈로그가 데이터베이스의 기본 데이터 정렬과 일치하게 데이터를 정렬하도록 지정합니다.DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. 이것은 SQL Server에서 발견되는 동작입니다.This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS는 시스템 뷰와 테이블에 사용된 메타데이터 카탈로그가 고정된 SQL_Latin1_General_CP1_CI_AS 데이터 정렬로 정렬되도록 지정합니다.SQL_Latin1_General_CP1_CI_AS specifies that the metadata catalog used for system views and tables be collated to a fixed SQL_Latin1_General_CP1_CI_AS collation. 이것이 지정되지 않은 경우 Azure SQL Database의 기본 설정입니다.This is the default setting on Azure SQL Database if unspecified.

BACKUP_STORAGE_REDUNDANCY 데이터베이스에 대한 지정 시간 복원 및 장기 보존 백업을 복제하는 방법을 지정합니다.BACKUP_STORAGE_REDUNDANCY Specifies how the point-in-time restore and long-term retention backups for a database are replicated. 지역 복구 또는 지역 가동 중단에서 복구하는 기능은 'GEO' 백업 스토리지 중복성을 통해 데이터베이스를 만든 경우에만 사용할 수 있습니다.Geo restore or ability to recover from regional outage is only available when database is created with 'GEO' backup storage redundancy. 명시적으로 지정되지 않은 한 T-SQL로 생성된 데이터베이스는 지역 중복 백업 스토리지를 사용합니다.Unless explicitly specified, databases created with T-SQL use geo-redundant backup storage.

중요

Azure SQL Database에 대한 BACKUP_STORAGE_REDUNDANCY 옵션은 동남 아시아 Azure 지역에서만 공개 미리 보기로 제공됩니다.BACKUP_STORAGE_REDUNDANCY option for Azure SQL Database is available in public preview in Southeast Asia Azure region only.

EDITION 데이터베이스의 서비스 계층을 지정합니다.EDITION Specifies the service tier of the database.

단일 및 풀링된 데이터베이스.Single and pooled databases. 사용 가능한 값은 ‘Basic’, ‘Standard’, ‘Premium’, ‘GeneralPurpose’, ‘BusinessCritical’ 및 ‘Hyperscale’입니다.The available values are: 'Basic', 'Standard', 'Premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

MAXSIZE 데이터베이스의 최대 크기를 지정합니다.MAXSIZE Specifies the maximum size of the database. MAXSIZE는 지정된 EDITION(서비스 계층)에 대해 유효해야 합니다. 지원되는 MAXSIZE 값 및 서비스 계층의 기본값(D)은 다음과 같습니다.MAXSIZE must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

참고

MAXSIZE 인수는 하이퍼스케일 서비스 계층의 단일 데이터베이스에 적용되지 않습니다.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. 하이퍼스케일 계층 데이터베이스는 필요에 따라 100TB까지 증가합니다.Hyperscale tier databases grow as needed, up to 100 TB. SQL Database 서비스는 스토리지를 자동으로 추가하므로 최대 크기를 설정할 필요가 없습니다.The SQL Database service adds storage automatically - you do not need to set a maximum size.

SQL Database 서버의 단일 및 풀링된 데이터베이스에 대한 DTU 모델DTU model for single and pooled databases on a SQL Database server

MAXSIZEMAXSIZE 기본Basic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100MB100 MB
250MB250 MB
500MB500 MB
1 GB1 GB
2GB2 GB √ (D)√ (D)
5GB5 GB 해당 없음N/A
10 GB10 GB 해당 없음N/A
20GB20 GB 해당 없음N/A
30GB30 GB 해당 없음N/A
40GB40 GB 해당 없음N/A
50GB50 GB 해당 없음N/A
100GB100 GB 해당 없음N/A
150GB150 GB 해당 없음N/A
200GB200 GB 해당 없음N/A
250GB250 GB 해당 없음N/A √ (D)√ (D) √ (D)√ (D)
300GB300 GB N/AN/A N/AN/A
400GB400 GB N/AN/A N/AN/A
500GB500 GB N/AN/A N/AN/A √ (D)√ (D)
750GB750 GB N/AN/A N/AN/A
1024GB1024 GB N/AN/A N/AN/A √ (D)√ (D)
1024GB에서 최대 4096GB(256 GB*로 증분)From 1024 GB up to 4096 GB in increments of 256 GB* N/AN/A N/AN/A N/AN/A N/AN/A

* P11과 P15는 기본 크기인 1024를 사용하여 MAXSIZE를 최대 4TB까지 허용합니다.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 및 P15는 추가 비용 없이 최대 4TB가 포함된 스토리지를 사용할 수 있습니다.P11 and P15 can use up to 4 TB of included storage at no additional charge. 프리미엄 계층에서 1TB 초과 MAXSIZE는 현재 다음 지역에서 사용할 수 있습니다. 미국 동부2, 미국 서부, US Gov 버지니아, 서유럽, 독일 중부, 동남 아시아, 일본 동부, 오스트레일리아 동부, 캐나다 중부 및 캐나다 동부.In the Premium tier, MAXSIZE greater than 1 TB is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. DTU 모델에 대한 리소스 제한에 관한 자세한 내용은 DTU 리소스 제한을 참조하세요.For additional details regarding resource limitations for the DTU model, see DTU resource limits.

DTU 모델에 대한 MAXSIZE 값은 지정된 경우 지정된 서비스 계층에 대한 위의 표에 표시된 유효한 값이어야 합니다.The MAXSIZE value for the DTU model, if specified, has to be a valid value shown in the table above for the service tier specified.

vCore 모델vCore model

범용 - 프로비저닝된 컴퓨팅 - Gen4(1부)General purpose - provisioned compute - Gen4 (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

범용 - 프로비저닝된 컴퓨팅 - Gen4(2부)General purpose - provisioned compute - Gen4 (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
최대 데이터 크기(GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

범용 - 프로비저닝된 컴퓨팅 - Gen5(1부)General purpose - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

범용 - 프로비저닝된 컴퓨팅 - Gen5(2부)General purpose - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
최대 데이터 크기(GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

범용 - 프로비저닝된 컴퓨팅 - Fsv2 시리즈(1부)General purpose - provisioned compute - Fsv2-series (part 1)

MAXSIZEMAXSIZE GP_Fsv2_8GP_Fsv2_8 GP_Fsv2_10GP_Fsv2_10 GP_Fsv2_12GP_Fsv2_12 GP_Fsv2_14GP_Fsv2_14 GP_Fsv2_16GP_Fsv2_16 GP_Fsv2_18GP_Fsv2_18
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 10241024 15361536 15361536

범용 - 프로비저닝된 컴퓨팅 - Fsv2 시리즈(2부)General purpose - provisioned compute - Fsv2-series (part 2)

MAXSIZEMAXSIZE GP_Fsv2_20GP_Fsv2_20 GP_Fsv2_24GP_Fsv2_24 GP_Fsv2_32GP_Fsv2_32 GP_Fsv2_36GP_Fsv2_36 GP_Fsv2_72GP_Fsv2_72
최대 데이터 크기(GB)Max data size (GB) 15361536 15361536 30723072 30723072 40964096

범용 - 서버리스 컴퓨팅 - Gen5(1부)General purpose - serverless compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_S_Gen5_1GP_S_Gen5_1 GP_S_Gen5_2GP_S_Gen5_2 GP_S_Gen5_4GP_S_Gen5_4 GP_S_Gen5_6GP_S_Gen5_6 GP_S_Gen5_8GP_S_Gen5_8
최대 vCore 수Max vCores 11 22 44 66 88

범용 - 서버리스 컴퓨팅 - Gen5(2부)General purpose - serverless compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_S_Gen5_10GP_S_Gen5_10 GP_S_Gen5_12GP_S_Gen5_12 GP_S_Gen5_14GP_S_Gen5_14 GP_S_Gen5_16GP_S_Gen5_16
최대 vCore 수Max vCores 1010 1212 1414 1616

범용 - 서버리스 컴퓨팅 - Gen5(3부)General purpose - serverless compute - Gen5 (part 3)

MAXSIZEMAXSIZE GP_S_Gen5_18GP_S_Gen5_18 GP_S_Gen5_20GP_S_Gen5_20 GP_S_Gen5_24GP_S_Gen5_24 GP_S_Gen5_32GP_S_Gen5_32 GP_S_Gen5_40GP_S_Gen5_40
최대 vCore 수Max vCores 1818 2020 2424 3232 4040

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - Gen4(1부)Business critical - provisioned compute - Gen4 (part 1)

컴퓨팅 크기(서비스 목표)Compute size (service objective) BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_3BC_Gen4_3 BC_Gen4_4BC_Gen4_4 BC_Gen4_5BC_Gen4_5 BC_Gen4_6BC_Gen4_6
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - Gen4(2부)Business critical - provisioned compute - Gen4 (part 2)

컴퓨팅 크기(서비스 목표)Compute size (service objective) BC_Gen4_7BC_Gen4_7 BC_Gen4_8BC_Gen4_8 BC_Gen4_9BC_Gen4_9 BC_Gen4_10BC_Gen4_10 BC_Gen4_16BC_Gen4_16 BC_Gen4_24BC_Gen4_24
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - Gen5(1부)Business critical - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
최대 데이터 크기(GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - Gen5(2부)Business critical - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
최대 데이터 크기(GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - M 시리즈(1부)Business critical - provisioned compute - M-series (part 1)

MAXSIZEMAXSIZE BC_M_8BC_M_8 BC_M_10BC_M_10 BC_M_12BC_M_12 BC_M_14BC_M_14 BC_M_16BC_M_16 BC_M_18BC_M_18
최대 데이터 크기(GB)Max data size (GB) 512512 640640 768768 896896 10241024 1,1521152

중요 비즈니스용 - 프로비저닝된 컴퓨팅 - M 시리즈(2부)Business critical - provisioned compute - M-series (part 2)

MAXSIZEMAXSIZE BC_M_20BC_M_20 BC_M_24BC_M_24 BC_M_32BC_M_32 BC_M_64BC_M_64 BC_M_128BC_M_128
최대 데이터 크기(GB)Max data size (GB) 12801280 15361536 20482048 40964096 40964096

vCore 모델을 사용할 때 MAXSIZE 값을 설정하지 않으면 기본값은 32GB입니다.If no MAXSIZE value is set when using the vCore model, the default is 32 GB. vCore 모델에 대한 리소스 제한에 관한 자세한 내용은 vCore 리소스 제한을 참조하세요.For additional details regarding resource limitations for vCore model, see vCore resource limits.

MAXSIZE 및 EDITION 인수에는 다음과 같은 규칙이 적용됩니다.The following rules apply to MAXSIZE and EDITION arguments:

  • EDITION이 지정되었지만 MAXSIZE가 지정되지 않은 경우 해당 버전에 대한 기본값이 사용됩니다.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. 예를 들어 EDITION이 Standard로 설정되었고 MAXSIZE가 지정되지 않았으면 MAXSIZE가 자동으로 250MB로 설정됩니다.For example, if the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • MAXSIZE 또는 EDITION 중 하나도 지정하지 않으면 EDITION은 GeneralPurpose으로 설정되고 MAXSIZE는 32GB로 설정됩니다.If neither MAXSIZE nor EDITION is specified, the EDITION is set to GeneralPurpose, and MAXSIZE is set to 32 GB.

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • 단일 및 풀링된 데이터베이스For single and pooled databases

    • 컴퓨팅 크기(서비스 목표)를 지정합니다.Specifies the compute size (service objective). 서비스 목표의 사용 가능한 값은 S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_8, GP_Fsv2_10, GP_Fsv2_12, GP_Fsv2_14, GP_Fsv2_16, GP_Fsv2_18, GP_Fsv2_20, GP_Fsv2_24, GP_Fsv2_32, GP_Fsv2_36, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_8, BC_M_10, BC_M_12, BC_M_14, BC_M_16, BC_M_18, BC_M_20, BC_M_24, BC_M_32, BC_M_64, BC_M_128입니다.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_8, GP_Fsv2_10, GP_Fsv2_12, GP_Fsv2_14, GP_Fsv2_16, GP_Fsv2_18, GP_Fsv2_20, GP_Fsv2_24, GP_Fsv2_32, GP_Fsv2_36, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_8, BC_M_10, BC_M_12, BC_M_14, BC_M_16, BC_M_18, BC_M_20, BC_M_24, BC_M_32, BC_M_64, BC_M_128.
  • 서버리스 데이터베이스인 경우For serverless databases

    • 컴퓨팅 크기(서비스 목표)를 지정합니다.Specifies the compute size (service objective). 서비스 목표의 사용 가능한 값은 GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, GP_S_Gen5_18, GP_S_Gen5_20, GP_S_Gen5_24, GP_S_Gen5_32, GP_S_Gen5_40입니다.Available values for service objective are: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, GP_S_Gen5_18, GP_S_Gen5_20, GP_S_Gen5_24, GP_S_Gen5_32, GP_S_Gen5_40.
  • 하이퍼스케일 서비스 계층의 단일 데이터베이스인 경우For single databases in the Hyperscale service tier

    • 컴퓨팅 크기(서비스 목표)를 지정합니다.Specifies the compute size (service objective). 서비스 목표의 사용 가능한 값은 HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80입니다.Available values for service objective are: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.

서비스 목표 설명과 크기, 버전 및 서비스 목표 조합 등의 정보에 대한 자세한 내용은 Azure SQL Database 서비스 계층을 참조하세요.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers. 지정된 SERVICE_OBJECTIVE를 EDITION에서 지원하지 않는 경우 오류가 표시됩니다.If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. SERVICE_OBJECTIVE 값을 한 계층에서 다른 계층으로 변경하려면(예: S1에서 P1로 변경), EDITION 값도 변경해야 합니다.To change the SERVICE_OBJECTIVE value from one tier to another (for example from S1 to P1), you must also change the EDITION value. 서비스 목표 설명과 크기, 버전 및 서비스 목표 조합 등의 정보에 대한 자세한 내용은 Azure SQL Database 서비스 계층 및 성능 수준, DTU 리소스 제한vCore 리소스 제한을 참조하세요.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU resource limits and vCore resource limits. PRS 서비스 목표에 대한 지원이 제거되었습니다.Support for PRS service objectives have been removed. 질문에 대해서는, 이메일 별칭(premium-rs@microsoft.com)을 사용하세요.For questions, use this e-mail alias: premium-rs@microsoft.com.

ELASTIC_POOL (name = <elastic_pool_name>) 적용 대상: 단일 및 풀링된 데이터베이스만.ELASTIC_POOL (name = <elastic_pool_name>) Applies to: Single and pooled databases only. 하이퍼스케일 서비스 계층의 데이터베이스에는 적용되지 않습니다.Does not apply to databases in the Hyperscale service tier. 탄력적 데이터베이스 풀에서 새 데이터베이스를 만들려면 데이터베이스의 SERVICE_OBJECTIVE를 ELASTIC_POOL로 설정하고 풀의 이름을 제공합니다.To create a new database in an elastic database pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the pool. 자세한 내용은 SQL Database 탄력적 풀 만들기 및 관리를 참조하세요.For more information, see Create and manage a SQL Database elastic pool.

AS COPY OF [source_server_name.]source_database_name 적용 대상: 단일 및 풀링된 데이터베이스만.AS COPY OF [source_server_name.]source_database_name Applies to: Single and pooled databases only. 동일한 SQL DatabaseSQL Database 서버 또는 다른 서버에 데이터베이스를 복사하기 위한 것입니다.For copying a database to the same or a different SQL DatabaseSQL Database server.

source_server_name 원본 데이터베이스가 위치한 SQL DatabaseSQL Database 서버의 이름입니다.source_server_name The name of the SQL DatabaseSQL Database server where the source database is located. 이 매개 변수는 원본 데이터베이스와 대상 데이터베이스가 동일한 SQL DatabaseSQL Database 서버에 있을 때 선택할 수 있습니다.This parameter is optional when the source database and the destination database are to be located on the same SQL DatabaseSQL Database server.

참고

AS COPY OF 인수는 정규화된 고유 도메인 이름을 지원하지 않습니다.The AS COPY OF argument does not support the fully qualified unique domain names. 즉, 서버의 정규화된 도메인 이름은 serverName.database.windows.net이며, 데이터베이스 복사 중 serverName만 사용합니다.In other words, if your server's fully qualified domain name is serverName.database.windows.net, use only serverName during database copy.

source_database_namesource_database_name

복사할 데이터베이스의 이름입니다.The name of the database that is to be copied.

설명Remarks

Azure SQL DatabaseAzure SQL Database의 데이터베이스에는 데이터베이스가 만들어질 때 설정된 몇 가지 기본 설정이 있습니다.Databases in Azure SQL DatabaseAzure SQL Database have several default settings that are set when the database is created. 이러한 기본 설정에 대한 자세한 내용은 DATABASEPROPERTYEX의 값 목록을 참조하세요.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE는 데이터베이스의 크기를 제한하는 기능을 제공합니다.MAXSIZE provides the ability to limit the size of the database. 데이터베이스 크기가 MAXSIZE에 도달하면 40544 오류 코드가 나타납니다.If the size of the database reaches its MAXSIZE, you receive error code 40544. 이 경우, 데이터를 삽입 또는 업데이트하거나 새 개체(예: 테이블, 저장된 프로시저, 뷰 및 함수)를 만들 수 없습니다.When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). 그러나 데이터 읽기 및 삭제, 테이블 자르기, 테이블 및 인덱스 삭제, 인덱스 다시 작성은 가능합니다.However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. 그런 다음, MAXSIZE를 현재 데이터베이스 크기보다 큰 값으로 업데이트하거나 일부 데이터를 삭제하여 스토리지 공간을 비울 수 있습니다.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. 새 데이터 삽입까지 최대 15분을 지연시킬 수 있습니다.There may be as much as a fifteen-minute delay before you can insert new data.

나중에 크기, 버전 또는 서비스 목표 값을 변경하려면, ALTER DATABASE - Azure SQL Database를 사용합니다.To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

CATALOG_COLLATION 인수는 데이터베이스를 생성하는 동안에만 사용할 수 있습니다.The CATALOG_COLLATION argument is only available during database creation.

데이터베이스 복사본Database Copies

적용 대상: 단일 및 풀링된 데이터베이스만.Applies to: Single and pooled databases only.

CREATE DATABASE 문을 사용한 데이터베이스 복사는 비동기 작업입니다.Copying a database using the CREATE DATABASE statement is an asynchronous operation. 따라서 전체 복사 프로세스가 끝날 때까지 SQL DatabaseSQL Database 서버에 연결할 필요가 없습니다.Therefore, a connection to the SQL DatabaseSQL Database server is not needed for the full duration of the copy process. CREATE DATABASE 문은 sys.databases에서 항목을 만든 후 데이터베이스 복사 작업이 완료되기 전에 사용자에게 컨트롤을 반환합니다.The CREATE DATABASE statement returns control to the user after the entry in sys.databases is created but before the database copy operation is complete. 즉, 데이터베이스 복사가 진행 중인 동안에 CREATE DATABASE 문을 반환합니다.In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • SQL DatabaseSQL Database 서버에서 복사 프로세스 모니터링: dm_database_copiespercentage_complete 또는 replication_state_desc 열 또는 sys.databases 보기의 state 열을 쿼리합니다.Monitoring the copy process on an SQL DatabaseSQL Database server: Query the percentage_complete or replication_state_desc columns in the dm_database_copies or the state column in the sys.databases view. 데이터베이스 복사를 포함해서 데이터베이스 작업의 상태를 반환하는 것뿐만 아니라 sys.dm_operation_status 보기도 사용할 수 있습니다.The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

복사 프로세스가 완료되면 트랜잭션에서 대상 데이터베이스가 원본 데이터베이스와 일치하게 됩니다.At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

AS COPY OF 인수를 사용할 때는 다음 구문 및 의미 체계 규칙에 따라야 합니다.The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • 원본 서버 이름과 복사 대상 서버의 이름은 서로 같아도 되고 달라도 됩니다.The source server name and the server name for the copy target may be the same or different. 이름이 동일한 경우 이 매개 변수는 선택적으로, 현재 세션의 서버 컨텍스트가 기본값으로 사용됩니다.When they are the same, this parameter is optional and the server context of the current session is used by default.
  • 원본 및 대상 데이터베이스 이름은 고유하게 지정해야 하며 식별자에 대한 SQL ServerSQL Server 규칙을 따라야 합니다.The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. 자세한 내용은 식별자를 참조하세요.For more information, see Identifiers.
  • CREATE DATABASE 문은 새 데이터베이스가 만들어질 SQL DatabaseSQL Database 서버의 master 데이터베이스 컨텍스트 내에서 실행되어야 합니다.The CREATE DATABASE statement must be executed within the context of the master database of the SQL DatabaseSQL Database server where the new database will be created.
  • 복사를 마친 뒤에는 대상 데이터베이스를 독립적인 데이터베이스로 관리해야 합니다.After the copying completes, the destination database must be managed as an independent database. 원본 데이터베이스와 별도로 새 데이터베이스에 대해 ALTER DATABASEDROP DATABASE 문을 실행할 수 있습니다.You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. 또한 새 데이터베이스를 다른 새 데이터베이스에 복사할 수 있습니다.You can also copy the new database to another new database.
  • 데이터베이스 복사가 진행 중인 동안에도 계속해서 원본 데이터베이스에 액세스할 수 있습니다.The source database may continue to be accessed while the database copy is in progress.

자세한 내용은 Transact-SQL을 사용하여 Azure SQL 데이터베이스의 복사본 만들기를 참조하세요.For more information, see Create a copy of an Azure SQL database using Transact-SQL.

중요

기본적으로 데이터베이스 복사본은 원본 데이터베이스와 동일한 백업 스토리지 중복성을 사용하여 생성됩니다.By default, the database copy is created with the same backup storage redundancy as that of the source database. 데이터베이스 복사본을 만드는 동안 백업 스토리지 중복성을 변경하는 것은 T-SQL을 통해 지원되지 않습니다.Changing the backup storage redundancy while creating a database copy is not supported via T-SQL.

사용 권한Permissions

데이터베이스를 만들려면 로그인은 다음 중 하나여야 합니다.To create a database, a login must be one of the following:

  • 서버 수준 보안 주체 로그인The server-level principal login
  • 로컬 Azure SQL Server에 대한 Azure AD 관리자The Azure AD administrator for the local Azure SQL Server
  • 로그인은 dbmanager 데이터베이스 역할의 멤버입니다.A login that is a member of the dbmanager database role

CREATE DATABASE ... AS COPY OF 구문 사용 관련 추가 요구 사항: 로컬 서버에 문을 실행하는 로그인은 적어도 db_owner 원본 서버에 있어야 합니다.Additional requirements for using CREATE DATABASE ... AS COPY OF syntax: The login executing the statement on the local server must also be at least the db_owner on the source server. 로그인이 SQL ServerSQL Server 인증을 기반으로 하는 경우, 로컬 서버의 문을 실행하는 로그인에는 동일한 이름과 암호를 사용하여 원본 SQL DatabaseSQL Database 서버에서 일치하는 로그온이 있어야 합니다.If the login is based on SQL ServerSQL Server authentication, the login executing the statement on the local server must have a matching login on the source SQL DatabaseSQL Database server, with an identical name and password.

예제Examples

간단한 예Simple Example

데이터베이스를 만드는 간단한 예A simple example for creating a database.

CREATE DATABASE TestDB1;

에디션을 사용하는 간단한 예Simple Example with Edition

범용 데이터베이스를 만드는 간단한 예제A simple example for creating a general purpose database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

추가 옵션이 있는 예Example with Additional Options

여러 옵션을 사용하는 예An example using multiple options.

CREATE DATABASE hito
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS
( MAXSIZE = 500 MB, EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_GEN4_8' ) ;

복사본 만들기Creating a Copy

데이터베이스의 복사본을 만드는 예An example creating a copy of a database.

적용 대상: 단일 및 풀링된 데이터베이스만.Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

탄력적 풀에 데이터베이스 만들기Creating a Database in an Elastic Pool

S3M100이라는 풀에 새 데이터베이스를 만듭니다.Creates new database in pool named S3M100:

적용 대상: 단일 및 풀링된 데이터베이스만.Applies to: Single and pooled databases only.

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;

다른 서버에서 데이터베이스 복사본 만들기Creating a Copy of a Database on Another Server

다음 예에서는 단일 데이터베이스의 P2 컴퓨팅 크기(서비스 목표)에 db_copy라는 이름의 db_original 데이터베이스의 복사본을 만듭니다.The following example creates a copy of the db_original database, named db_copy in the P2 compute size (service objective) for a single database. 이것은 db_original이 단일 데이터베이스의 탄력적 풀 또는 컴퓨팅 크기(서비스 목표)에 관계없이 적용됩니다.This is true regardless of whether db_original is in an elastic pool or a compute size (service objective) for a single database.

적용 대상: 단일 및 풀링된 데이터베이스만.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );

다음 예에서는 ep1이라는 이름의 탄력적 풀에 db_copy라는 이름의 db_original 데이터베이스의 복사본을 만듭니다.The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. 이것은 db_original이 단일 데이터베이스의 탄력적 풀 또는 컴퓨팅 크기(서비스 목표)에 관계없이 적용됩니다.This is true regardless of whether db_original is in an elastic pool or a compute size (service objective) for a single database. Db_original이 다른 이름을 가진 탄력적 풀에 있으면 db_copy는 여전히 ep1에 생성됩니다.If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

적용 대상: 단일 및 풀링된 데이터베이스만.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original
  (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

지정된 카탈로그 데이터 정렬 값을 사용하여 데이터베이스 만들기Create database with specified catalog collation value

다음 예에서는 카탈로그 데이터 정렬을 데이터베이스 데이터 생성 중에 DATABASE_DEFAULT로 설정하며, 카탈로그 데이터 정렬을 데이터베이스 데이터 정렬과 동일하게 설정합니다.The following example sets the catalog collation to DATABASE_DEFAULT during database creation, which sets the catalog collation to be the same as the database collation.

CREATE DATABASE TestDB3 COLLATE Japanese_XJIS_140 (MAXSIZE = 100 MB, EDITION = 'Basic')
  WITH CATALOG_COLLATION = DATABASE_DEFAULT

백업을 위해 영역 중복성을 사용하여 데이터베이스 만들기Create database using zone-redundancy for backups

다음 예제에서는 데이터베이스 백업에 대한 영역 중복성을 설정합니다.The following example sets zone-redundancy for database backups. 특정 시점 복원 백업과 장기 보존 백업(구성된 경우)은 모두 동일한 백업 스토리지 중복성을 사용합니다.Both point-in-time restore backups and long-term retention backups (if configured) will use the same backup storage redundancy.

CREATE DATABASE test_zone_redundancy 
  WITH BACKUP_STORAGE_REDUNDANCY = 'ZONE';

참고 항목See also

* SQL Database
Managed Instance *
* SQL Database
Managed Instance *

 

Azure SQL Managed InstanceAzure SQL Managed Instance

개요Overview

Azure SQL Managed Instance에서 이 문은 데이터베이스를 만드는 데 사용됩니다.In Azure SQL Managed Instance, this statement is used to create a database. 관리되는 인스턴스에서 데이터베이스를 만들 때 데이터베이스 이름 및 데이터 정렬을 지정합니다.When creating a database on a managed instance, you specify the database name and collation.

구문Syntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

중요

관리되는 인스턴스에서 데이터베이스에 대한 파일을 추가하거나 포함을 설정하려면 ALTER DATABASE 문을 사용합니다.To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

인수Arguments

database_name 새 데이터베이스의 이름입니다.database_name The name of the new database. 이 이름은 SQL Server에서 고유해야 하며 식별자에 대한 SQL ServerSQL Server 규칙을 따라야 합니다.This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. 자세한 내용은 식별자를 참조하세요.For more information, see Identifiers.

Collation_name 데이터베이스의 기본 데이터 정렬을 지정합니다.Collation_name Specifies the default collation for the database. 데이터 정렬 이름으로는 Windows 데이터 정렬 이름 또는 SQL 데이터 정렬 이름을 사용할 수 있습니다.Collation name can be either a Windows collation name or a SQL collation name. 지정되지 않는 경우 해당 데이터베이스가 기본 데이터 정렬 SQL_Latin1_General_CP1_CI_AS에 할당됩니다.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows 및 SQL 데이터 정렬 이름에 대한 자세한 내용은 COLLATE(Transact-SQL)를 참조하세요.For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

설명Remarks

Azure SQL DatabaseAzure SQL Database의 데이터베이스에는 데이터베이스가 만들어질 때 설정된 몇 가지 기본 설정이 있습니다.Databases in Azure SQL DatabaseAzure SQL Database have several default settings that are set when the database is created. 이러한 기본 설정에 대한 자세한 내용은 DATABASEPROPERTYEX의 값 목록을 참조하세요.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

중요

CREATE DATABASE 문은 Transact-SQLTransact-SQL 일괄 처리의 유일한 문이어야 합니다.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

다음은 CREATE DATABASE 제한 사항입니다.The following are CREATE DATABASE limitations:

  • 파일 및 파일 그룹을 정의할 수 없습니다.Files and filegroups cannot be defined.

  • WITH 옵션이 지원되지 않습니다.WITHoptions are not supported.

    해결 방법으로 ALTER DATABASEAs workaround, use ALTER DATABASE. CREATE DATABASE 뒤에 사용하여 데이터베이스 옵션을 설정하고 파일을 추가합니다.after CREATE DATABASE to set database options and to add files.

사용 권한Permissions

데이터베이스를 만들려면 로그인은 다음 중 하나여야 합니다.To create a database, a login must be one of the following:

  • 서버 수준 보안 주체 로그인The server-level principal login
  • 로컬 Azure SQL Server에 대한 Azure AD 관리자The Azure AD administrator for the local Azure SQL Server
  • 로그인은 dbcreator 데이터베이스 역할의 멤버입니다.A login that is a member of the dbcreator database role

예제Examples

간단한 예Simple Example

데이터베이스를 만드는 간단한 예A simple example for creating a database.

CREATE DATABASE TestDB1;

참고 항목See also

ALTER DATABASE 참조See ALTER DATABASE

* Azure Synapse
Analytics *
* Azure Synapse
Analytics *

 

Azure Synapse AnalyticsAzure Synapse Analytics

개요Overview

Azure Synapse에서 이 문을 Azure SQL Database 서버와 함께 사용하여 SQL Analytics 데이터베이스를 만들 수 있습니다.In Azure Synapse, this statement can be used with an Azure SQL Database server to create a SQL Analytics database. 이 문을 사용하여 데이터베이스 이름, 데이터 정렬, 최대 크기, 버전 및 서비스 목표를 지정합니다.With this statement, you specify the database name, collation, maximum size, edition, and service objective.

구문Syntax

CREATE DATABASE database_name [ COLLATE collation_name ]
(
    [ MAXSIZE = {
          250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 | 30720
        | 40960 | 51200 | 61440 | 71680 | 81920 | 92160 | 102400
        | 153600 | 204800 | 245760
      } GB ,
    ]
    EDITION = 'datawarehouse',
    SERVICE_OBJECTIVE = {
         'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' | 'DW600'
        | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000' | 'DW3000' | 'DW6000'
        |'DW100c' | 'DW200c' | 'DW300c' | 'DW400c' | 'DW500c'
        | 'DW1000c' | 'DW1500c' | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c'
        | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
    }
)
[;]

인수Arguments

database_name 새 데이터베이스의 이름입니다.database_name The name of the new database. 이 이름은 Azure SQL DatabaseAzure SQL Database 데이터베이스 및 Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) 데이터베이스를 모두 호스트할 수 있고 SQL ServerSQL Server 식별자에 대한 규칙을 준수할 수 있는 SQL 서버에서 고유해야 합니다.This name must be unique on the SQL server, which can host both Azure SQL DatabaseAzure SQL Database databases and Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) databases, and comply with the SQL ServerSQL Server rules for identifiers. 자세한 내용은 식별자를 참조하세요.For more information, see Identifiers.

collation_name 데이터베이스의 기본 데이터 정렬을 지정합니다.collation_name Specifies the default collation for the database. 데이터 정렬 이름으로는 Windows 데이터 정렬 이름 또는 SQL 데이터 정렬 이름을 사용할 수 있습니다.Collation name can be either a Windows collation name or a SQL collation name. 지정되지 않는 경우 해당 데이터베이스가 기본 데이터 정렬 SQL_Latin1_General_CP1_CI_AS에 할당됩니다.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows 및 SQL 데이터 정렬 이름에 대한 자세한 내용은 COLLATE(Transact-SQL)를 참조하세요.For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION 데이터베이스의 서비스 계층을 지정합니다.EDITION Specifies the service tier of the database. Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)의 경우 'datawarehouse'를 사용합니다.For Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) use 'datawarehouse'.

MAXSIZE 기본값은 245,760GB(240TB)입니다.MAXSIZE The default is 245,760 GB (240 TB).

적용 대상: Compute Gen1에 최적화됨Applies to: Optimized for Compute Gen1

데이터베이스의 최대 허용 크기입니다.The maximum allowable size for the database. 데이터베이스는 MAXSIZE 이상으로 커질 수 없습니다.The database cannot grow beyond MAXSIZE.

적용 대상: Compute Gen2에 최적화됨Applies to: Optimized for Compute Gen2

데이터베이스의 rowstore 데이터에 허용되는 최대 크기입니다.The maximum allowable size for rowstore data in the database. Rowstore 테이블, columnstore 인덱스의 deltastore 또는 클러스터형 columnstore 인덱스의 비클러스터형 인덱스에 저장된 데이터는 MAXSIZE보다 커질 수 없습니다. columnstore 형식으로 압축된 데이터는 크기 제한이 없으며 MAXSIZE에 의해 제한되지 않습니다.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVE 컴퓨팅 크기(서비스 목표)를 지정합니다.SERVICE_OBJECTIVE Specifies the compute size (service objective). Azure Synapse의 서비스 목표에 대한 자세한 내용은 DWU(데이터 웨어하우스 단위)를 참조하세요.For more information about service objectives for Azure Synapse, see Data Warehouse Units (DWUs).

일반적인 주의 사항General Remarks

DATABASEPROPERTYEX를 사용하여 데이터베이스 속성을 확인합니다.Use DATABASEPROPERTYEX to see the database properties.

나중에 최대 크기 또는 서비스 목표 값을 변경하려면 ALTER DATABASE - Azure Synapse Analytics를 사용합니다.Use ALTER DATABASE - Azure Synapse Analytics to change the max size, or service objective values later.

Azure Synapse는 COMPATIBILITY_LEVEL 130으로 설정되어 있으며 변경할 수 없습니다.Azure Synapse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. 자세한 내용은 Azure SQL Database의 호환성 수준 130으로 향상된 쿼리 성능을 참조하세요.For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

사용 권한Permissions

필요한 권한Required permissions:

  • 프로비전 프로세스에 의해 생성된 서버 수준 보안 주체 로그인 또는Server level principal login, created by the provisioning process, or
  • dbmanager 데이터 베이스 역할의 멤버Member of the dbmanager database role.

오류 처리Error Handling

데이터베이스 크기가 MAXSIZE에 도달하면 40544 오류 코드가 나타납니다.If the size of the database reaches MAXSIZE you will receive error code 40544. 이 경우, 데이터를 삽입 및 업데이트하거나 새 개체(예: 테이블, 저장된 프로시저, 뷰 및 함수)를 만들 수 없습니다.When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). 데이터 읽기 및 삭제, 테이블 자르기, 테이블 및 인덱스 삭제 및 인덱스 다시 작성은 여전히 가능합니다.You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. 그런 다음 MAXSIZE를 현재 데이터베이스 크기보다 큰 값으로 업데이트하거나 일부 데이터를 삭제하여 스토리지 공간을 비울 수 있습니다.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. 새 데이터 삽입까지 최대 15분을 지연시킬 수 있습니다.There may be as much as a fifteen-minute delay before you can insert new data.

제한 사항Limitations and Restrictions

새 데이터베이스를 만들려면 master 데이터베이스에 연결해야 합니다.You must be connected to the master database to create a new database.

CREATE DATABASE 문은 Transact-SQLTransact-SQL 일괄 처리의 유일한 문이어야 합니다.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

데이터베이스를 만든 후에는 데이터베이스 데이터 정렬을 변경할 수 없습니다.You cannot change the database collation after the database is created.

예제: Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)Examples: Azure Synapse Analytics(SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)

A.A. 간단한 예Simple example

데이터 웨어하우스 데이터베이스를 만드는 간단한 예A simple example for creating a data warehouse database. 그러면 10240 GB의 가장 작은 최대 크기, SQL_Latin1_General_CP1_CI_AS의 기본 데이터 정렬 및 DW100인 가장 작은 컴퓨팅 능력을 가진 데이터베이스가 생성됩니다.This creates the database with the smallest max size which is 10240 GB, the default collation which is SQL_Latin1_General_CP1_CI_AS, and the smallest compute power which is DW100.

CREATE DATABASE TestDW
(EDITION = 'datawarehouse', SERVICE_OBJECTIVE='DW100');

B.B. 모든 옵션을 사용하여 데이터 웨어하우스 데이터베이스 만들기Create a data warehouse database with all the options

모든 옵션을 사용하여 10테라바이트 데이터 웨어하우스를 생성하는 예입니다.An example of creating a 10 terabyte data warehouse using all the options.

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS
(MAXSIZE = 10240 GB, EDITION = 'datawarehouse', SERVICE_OBJECTIVE = 'DW1000');

참고 항목See Also

* Analytics Platform
System(PDW) *
* Analytics Platform
System (PDW) *

 

분석 플랫폼 시스템Analytics Platform System

개요Overview

Analytics Platform System에서 이 문은 Analytics Platform System 어플라이언스에서 새 데이터베이스를 만드는 데 사용됩니다.In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. 이 문을 사용하여 어플라이언스 데이터베이스와 관련된 모든 파일을 만들고 데이터베이스 테이블 및 트랜잭션 로그에 대한 최대 크기 및 자동 증가 옵션을 설정합니다.Use this statement to create all files associated with an appliance database and to set maximum size and auto-growth options for the database tables and transaction log.

구문Syntax

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[;]

인수Arguments

database_name 새 데이터베이스의 이름입니다.database_name The name of the new database. 허용된 데이터베이스 이름에 대한 자세한 내용은 Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation에서 "개체 명명 규칙" 및 "예약된 데이터베이스 이름"을 참조합니다.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation.

AUTOGROW = ON | OFF 이 데이터베이스에 대한 replicated_size, distributed_sizelog_size 매개 변수가 지정된 크기를 넘어 필요에 따라 자동으로 증가하는지 여부를 지정합니다.AUTOGROW = ON | OFF Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. 기본값은 OFF입니다.Default value is OFF.

AUTOGROW가 ON인 경우 replicated_size, distributed_sizelog_size가 각 데이터 삽입, 업데이트 또는 이미 할당된 것보다 더 많은 스토리지 용량이 필요한 기타 작업의 필요에 따라(지정된 초기 크기의 블록에서가 아니라) 성장하게 됩니다.If AUTOGROW is ON, replicated_size, distributed_size, and log_size will grow as required (not in blocks of the initial specified size) with each data insert, update, or other action that requires more storage than has already been allocated.

AUTOGROW가 OFF이면 크기가 자동으로 증가하지 않습니다.If AUTOGROW is OFF, the sizes will not grow automatically. 병렬 데이터 웨어하우스Parallel Data Warehousereplicated_size, distributed_size 또는 log_size가 지정된 값을 초과하여 성장할 것을 요구하는 작업을 시도할 경우 오류를 반환합니다.will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

AUTOGROW는 모든 크기에 대해 ON이거나 OFF입니다.AUTOGROW is either ON for all sizes or OFF for all sizes. 예를 들어 log_size에 대해 AUTOGROW를 ON으로 설정하는 것이 가능하지 않지만 replicated_size에 대해서는 ON으로 설정하지 않습니다.For example, it is not possible to set AUTOGROW ON for log_size, but not set it for replicated_size.

replicated_size [ GB ] 양수입니다.replicated_size [ GB ] A positive number. 각 컴퓨팅 노드에서 복제된 테이블과 해당 데이터에 할당된 총 공간에 대한 크기(정수 또는 10진 기가바이트로)를 설정합니다.Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. 최소 및 최대 replicated_size 요구 사항은 Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation에서 "최소 및 최대 값"를 참조합니다.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation.

AUTOGROW가 ON인 경우 복제된 테이블이 이 제한을 초과해 성장하도록 허용됩니다.If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

AUTOGROW가 OFF인 경우 사용자가 replicated_size를 초과하여 크기가 증가하는 식으로 새로 복제된 테이블을 만들고 기존 복제된 테이블에 데이터를 삽입하고 또는 기존 복제된 테이블을 업데이트하려고 하면 오류가 반환됩니다.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new replicated table, insert data into an existing replicated table, or update an existing replicated table in a manner that would increase the size beyond replicated_size.

distributed_size [ GB ] 양수입니다.distributed_size [ GB ] A positive number. 어플라이언스 전반에 걸쳐 복제된 테이블(및 해당 데이터)에 할당된 총 공간에 대한 정수 또는 10진 기가바이트로 표시된 크기입니다.The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. 최소 및 최대 distributed_size 요구 사항은 Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation에서 "최소 및 최대 값"를 참조합니다.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation.

AUTOGROW가 ON인 경우 분산된 테이블이 이 제한을 초과해 성장하도록 허용됩니다.If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

AUTOGROW가 OFF인 경우 사용자가 distributed_size를 초과하여 크기가 증가하는 식으로 새로 분산된 테이블을 만들고 기존 분산된 테이블에 데이터를 삽입하고 또는 기존 분산된 테이블을 업데이트하려고 하면 오류가 반환됩니다.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new distributed table, insert data into an existing distributed table, or update an existing distributed table in a manner that would increase the size beyond distributed_size.

log_size [ GB ] 양수입니다.log_size [ GB ] A positive number. 어플라이언스 전반에 걸친 트랜잭션 로그에 대한 크기(정수 또는 10진 기가바이트로 표시된)입니다.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

최소 및 최대 log_size 요구 사항은 Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation에서 "최소 및 최대 값"를 참조합니다.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation.

AUTOGROW가 ON인 경우 로그 파일은 이 제한을 초과하여 성장하도록 허용됩니다.If AUTOGROW is ON, the log file is permitted to grow beyond this limit. 로그 파일의 크기를 원래 크기로 줄이려면 DBCC SHRINKLOG(Azure Synapse Analytics) 문을 사용합니다.Use the DBCC SHRINKLOG (Azure Synapse Analytics) statement to reduce the size of the log files to their original size.

AUTOGROW가 OFF인 경우 log_size를 초과한 개별 컴퓨팅 노드에서 로그 크기를 증가시키는 모든 작업에 대해서 사용자에게 오류가 반환됩니다.If AUTOGROW is OFF, an error will be returned to the user for any action that would increase the log size on an individual Compute node beyond log_size.

사용 권한Permissions

master 데이터베이스에서 CREATE ANY DATABASE 권한 또는 sysadmin 고정 서버 역할에서 멤버자격이 필요합니다.Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

다음 예에서는 데이터베이스 사용자 Fay에게 데이터베이스를 만들 수 있는 권한을 제공합니다.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO

일반적인 주의 사항General Remarks

SQL Server 2014(12.x)SQL Server 2014 (12.x)에 대한 호환성 수준인 데이터베이스 호환성 수준 120으로 데이터베이스를 만듭니다.Databases are created with database compatibility level 120, which is the compatibility level for SQL Server 2014(12.x)SQL Server 2014 (12.x). 이렇게 하면 데이터베이스는 PDW가 사용하는 모든 SQL Server 2014(12.x)SQL Server 2014 (12.x) 기능을 사용할 수 있습니다.This ensures the database will be able to use all of the SQL Server 2014(12.x)SQL Server 2014 (12.x) functionality that PDW uses.

제한 사항Limitations and Restrictions

명시적 트랜잭션에서는 CREATE DATABASE 문을 사용할 수 없습니다.The CREATE DATABASE statement is not allowed in an explicit transaction. 자세한 내용은 을 참조하십시오.For more information, see Statements.

데이터베이스에 대한 최소 및 최대 제약 조건에 관한 자세한 내용은 Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation에서 “최소 및 최대 값”을 참조합니다.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Parallel Data Warehouse product documentation(병렬 데이터 웨어하우스 제품 설명서)Parallel Data Warehouse product documentation.

데이터베이스를 만들 경우 다음 크기의 총합계를 할당하기 위해 각 컴퓨팅 노드에 충분히 사용할 수 있는 여유 공간이 있어야 합니다.At the time a database is created, there must be enough available free space on each Compute node to allocate the combined total of the following sizes:

  • replicated_table_size 크기의 테이블이 있는 SQL ServerSQL Server 데이터베이스입니다.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • (distributed_table_size / 컴퓨팅 노드 수) 크기의 테이블이 있는 SQL ServerSQL Server 데이터베이스입니다.SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • (log_size / 컴퓨팅 노드 수) 크기의 SQL ServerSQL Server 로그입니다.SQL ServerSQL Server logs the size of (log_size / number of Compute nodes).

잠금Locking

DATABASE 개체에 대한 공유 잠금을 사용합니다.Takes a shared lock on the DATABASE object.

메타데이터Metadata

이 작업이 성공한 후 이 데이터베이스에 대한 항목이 sys.databasessys.objects 메타데이터 보기에 표시됩니다.After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

예제: 병렬 데이터 웨어하우스Parallel Data WarehouseExamples: 병렬 데이터 웨어하우스Parallel Data Warehouse

A.A. 기본 데이터베이스 만들기 예제Basic database creation examples

다음 예제에서는 복제된 테이블에 대해 컴퓨팅 노드당 100GB, 분산된 테이블에 대해 어플라이언스당 500GB, 트랜잭션 로그에 대해 어플라이언스당 100GB의 스토리지 용량이 있는 mytest 데이터베이스를 만듭니다.The following example creates the database mytest with a storage allocation of 100 GB per Compute node for replicated tables, 500 GB per appliance for distributed tables, and 100 GB per appliance for the transaction log. 이 예제에서는 AUTOGROW가 기본으로 Off로 설정돼 있습니다.In this example, AUTOGROW is off by default.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

다음 예제에서는 AUTOGROW가 켜진 경우를 제외하고 위와 동일한 매개 변수가 있는 mytest 데이터베이스를 만듭니다.The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. 이렇게 하면 데이터베이스가 지정된 크기 매개 변수를 벗어나 성장할 수 있습니다.This allows the database to grow outside the specified size parameters.

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B.B. 부분 기가바이트 크기를 사용하여 데이터베이스 만들기Creating a database with partial gigabyte sizes

다음 예제에서는 복제된 테이블에 대해 컴퓨팅 노드당 1.5GB, 분산된 테이블에 대해 어플라이언스당 5.25GB, 트랜잭션 로그에 대해 어플라이언스당 10GB의 스토리지 용량을 가진 그리고 AUTOGROW가 Off로 설정된 mytest 데이터베이스를 만듭니다.The following example creates the database mytest, with AUTOGROW off, a storage allocation of 1.5 GB per Compute node for replicated tables, 5.25 GB per appliance for distributed tables, and 10 GB per appliance for the transaction log.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);

참고 항목See Also