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 ]
}

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

Присоединение базы данных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 } )
}

Создание моментального снимка базы данных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 формирует для журнала имена logical_file_name и os_file_name путем добавления суффикса к database_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. Это ограничивает длину аргумента database_name 123 символами, чтобы формируемое логическое имя файла было не длиннее 128 символов.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Если имя файла данных не указано, SQL ServerSQL Server использует аргумент database_name как logical_file_name и os_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. Параметр ON необходимо применять, если за ним следует список элементов <filespec> с разделителями-запятыми, которые определяют файлы данных первичной файловой группы.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. Дополнительные сведения см. в статье Файлы и группы файлов базы данных.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 не указан, автоматически создается один файл журнала, размер которого определяется большей из следующих двух величин: 512 КБ или 25 процентов от суммы размеров всех файлов данных в базе данных.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. См. дополнительные сведения об этом расположении.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. Дополнительные сведения о способах изменения параметров сортировки подсоединенной базы данных см. на веб-сайте корпорации Майкрософт.For information about how to change the collation of an attached database, visit this Microsoft Web site.

Список имен параметров сортировки Windows и SQL см. в статье Параметры сортировки.For more information about the Windows and SQL collation names, see COLLATE.

Примечание

Сортировка в автономных базах данных отличается от неавтономных баз данных.Contained databases are collated differently than non-contained databases. Дополнительные сведения см. в разделе Параметры сортировки автономной базы данных.Please see Contained Database Collations for more information.

WITH <option> <filestream_options>WITH <option> <filestream_options>

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 ОписаниеDescription
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. Это имя должно быть уникально среди всех имен Database_Directory в экземпляре SQL ServerSQL Server.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

    Полное описание этого параметра см. в статье Настройка параметра конфигурации сервера full-text language по умолчанию.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

    Полное описание этого параметра см. в статье Настройка параметра конфигурации сервера language по умолчанию.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

    Полное описание этого параметра см. в статье Настройка параметра конфигурации сервера transform noise words.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> }

    Четыре цифры, обозначающие год.Four digits representing a year. Значение по умолчанию — 2049.2049 is the default value. Полное описание этого параметра см. в статье Настройка параметра конфигурации сервера two digit year cutoff.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. Рекомендуется никогда не устанавливать параметр TRUSTWORTHY в состояние ON для базы данных master.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.

При присоединении базы данных, содержащей параметр FILESTREAM "Directory name", к экземпляру SQL ServerSQL ServerSQL 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.Компонент Service BrokerService Broker 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. Это означает, что происходит запуск доставки сообщений и параметр is_broker_enabled устанавливается в значение true в представлении каталога sys.databases.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 — создает новое значение service_broker_guid в представлении каталога sys.databases и восстановленной базе данных, после чего завершает все конечные точки диалога, очищая их.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. Посредник включен, но сообщения удаленным конечным точкам диалога не отправляются.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. Посредник отключается до завершения этой операции, после чего вновь включается.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 Database EngineSQL Server Database Engine должен быть обновлен по крайней мере до версии SQL Server 2005 (9.x)SQL Server 2005 (9.x) с пакетом обновления 2 (SP2).Attach works with the vardecimal storage format, but the Компонент SQL Server Database EngineSQL 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 см. в разделе Сжатие данных.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). Как только главный ключ базы данных будет расшифрован, появится возможность разрешить автоматическую расшифровку в будущем с помощью инструкции ALTER MASTER KEY REGENERATE, чтобы оставить на сервере копию главного ключа базы данных, зашифрованного с помощью главного ключа службы.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). После обновления базы данных с переходом от более ранней версии главный ключ базы данных должен быть создан повторно для использования нового алгоритма шифрования AES.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. См. дополнительные сведения о повторном создании главного ключа базы данных.For more information about regenerating the DMK, see ALTER MASTER KEY. Время, необходимое для повторного создания главного ключа базы данных с обновлением до алгоритма шифрования AES, зависит от числа объектов, защищаемых главным ключом базы данных.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Повторное создание главного ключа базы данных с обновлением до алгоритма шифрования AES необходимо произвести только один раз. Это никак не повлияет на последующие операции повторного создания, выполняемые в соответствии со стратегией смены ключей.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.

Примечание

Параметры TRUSTWORTHY и DB_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 автоматически создает новый файл журнала с размером 1 МБ.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Этот файл помещается в местоположение для журнала по умолчанию.This file is placed in the default log-file location. См. дополнительные сведения об этом расположении.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Примечание

Если файлы журналов доступны, компонент Компонент Database EngineDatabase Engine использует их, не перестраивая файлы журнала.If the log files are available, the Компонент Database EngineDatabase 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. Параметр NAME требуется при указании параметра FILENAME во всех случаях, кроме указания одного из предложений FOR ATTACH.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.

Параметры SIZE, MAXSIZE и FILEGROWTH доступны, если путь к файлу указан в формате UNC.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 '  — для файловой группы FILESTREAM параметр 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", папка "C:\MyFiles" должна существовать до запуска инструкции ALTER DATABASE, а папка "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.

Параметр SIZE не может указываться, если аргумент os_file_name задан как путь в формате UNC.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 EngineDatabase Engine.When size is not supplied for the primary file, the Компонент Database EngineDatabase Engine uses the size of the primary file in the model database. Размер модели по умолчанию — 8 МБ (начиная с SQL Server 2016 (13.x);SQL Server 2016 (13.x)) или 1 МБ (для более ранних версий).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 EngineDatabase Engine задает размер файла равным 8 МБ (начиная с SQL Server 2016 (13.x);SQL Server 2016 (13.x)) или 1 МБ (для более ранних версий).When a secondary data file or log file is specified, but size is not specified for the file, the Компонент Database EngineDatabase 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. По умолчанию — MБ.The default is MB. Укажите целое число (без дробной части).Specify a whole number; do not include a decimal. size — целочисленное значение.Size is an integer value. Для значений, превышающих 2 147 483 647, используйте более крупные единицы измерения.For values greater than 2147483647, use larger units.

MAXSIZE max_size — задает максимальный размер, до которого может увеличиваться размер файла.MAXSIZE max_size Specifies the maximum size to which the file can grow. Параметр MAXSIZE не может указываться, если аргумент os_file_name задан как путь в формате UNC.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. По умолчанию — MБ.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. Для значений, превышающих 2 147 483 647, используйте более крупные единицы измерения.For values greater than 2147483647, use larger units.

UNLIMITED — указывает, что размер файла может увеличиваться вплоть до заполнения диска.UNLIMITED Specifies that the file grows until the disk is full. В SQL ServerSQL Server файл журнала, для которого задано неограниченное увеличение размера, имеет максимальный размер 2 ТБ, а файл данных — 16 ТБ.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. Параметр FILEGROWTH не может указываться, если аргумент os_file_name задан как путь в формате UNC.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.

Значение может быть указано в килобайтах, мегабайтах, гигабайтах, терабайтах или процентах (%).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. Указанный размер округляется до ближайших 64 КБ, минимальное значение — 64 КБ.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) Данные — 64 МБ.Data 64 MB. Файлы журналов — 64 МБ.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) Данные — 1 МБ.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 — указывает, что файловая группа хранит большие двоичные объекты (BLOB-объекты) FILESTREAM в файловой системе.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. Дополнительные сведения см. в статье In-Memory 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.

RemarksRemarks

Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.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 реализуется посредством следующих действий:SQL ServerSQL Server 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. Базе данных назначается идентификатор GUID компонента Service Broker.A service broker GUID is assigned to the database.
  3. Затем компонент Компонент Database EngineDatabase Engine заполняет остальную часть базы данных пустыми страницами, за исключением страниц, содержащих внутренние данные с описанием способа использования пространства в базе данных.The Компонент Database EngineDatabase 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

В каждой базе данных имеется по крайней мере два файла (первичный файл и файл журнала транзакций) и по крайней мере одна файловая группа.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. Например, параметру автоматического сжатия базы данных задано значение true в базе данных model и во всех вновь создаваемых базах данных.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. Если параметр FOR ATTACH задан в инструкции CREATE DATABASE, то новая база данных наследует значения параметров исходной базы данных.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. Журнал транзакций устанавливается в соответствии с наибольшим из следующих значений: 512 КБ или 25 % от размера первичного файла данных.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. Создание базы данных, в которой заданы файлы данных и журнала транзакцийCreating a database that specifies the data and transaction log files

В следующем примере создается база данных Sales.The following example creates the database Sales. Ключевое слово PRIMARY не использовано, поэтому первый файл (Sales_dat) становится первичным файлом.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Поскольку в параметре SIZE для файла Sales_dat не заданы суффиксы 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 .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. Создание базы данных, в которой указаны несколько файлов данных и журналов транзакцийCreating a database by specifying multiple data and transaction log files

Следующий пример создает базу данных Archive, имеющую 3 файла данных объемом по 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. Создание базы данных с файловыми группамиCreating a database that has filegroups

В следующем примере создается база данных Sales, в которой есть следующие файловые группы:The following example creates the database Sales that has the following filegroups:

  • Первичная файловая группа с файлами Spri1_dat и Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. Для этих файлов задана величина приращения FILEGROWTH, равная 15%.The FILEGROWTH increments for these files are specified as 15%.
  • Файловая группа с именем SalesGroup1 и файлами SGrp1Fi1 и SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • Файловая группа с именем SalesGroup2 и файлами SGrp2Fi1 и 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. Присоединение базы данныхAttaching a database

В следующем примере база данных 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. Создание моментального снимка базы данных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.

База данных-источник для этого примера — 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. Создание базы данных и назначение имени и параметров сортировкиCreating a database and specifying a collation name and options

В следующем примере создается база данных MyOptionsTest.The following example creates the database MyOptionsTest. Указано имя параметров сортировки, а параметрам TRUSTYWORTHY и DB_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. Присоединение перемещенного полнотекстового каталога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

И.I. Создание базы данных, имеющей файловую группу строк и две файловые группы FILESTREAMCreating 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. Она содержит один контейнер данных FILESTREAM — FSResumes, расположенный в папке 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. Создание базы данных, имеющей файловую группу 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 содержит два файла, FS1 и FS2.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 ** SQL Database *

 

База данных SQLSQL Database

ОбзорOverview

В База данных SQL AzureAzure SQL Database эту инструкцию можно применить к серверу SQL Azure для создания отдельной базы данных или базы данных в эластичном пуле.In База данных SQL AzureAzure 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.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 CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }]
[;]

<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. Это параметр используется в базе данных SQL Azure по умолчанию, если никакое иное значение не указано.This is the default setting on Azure SQL Database if unspecified.

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. Базы данных уровня "Гипермасштабирование" увеличиваются по мере необходимости до 100 ТБ.Hyperscale tier databases grow as needed, up to 100 TB. Служба "База данных SQL" автоматически добавляет объем хранилища. Задавать максимальный размер не нужно.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Модель DTU для отдельных или включенных в пул баз данных на сервере базы данных SQLDTU 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
100 МБ100 MB
250 МБ250 MB
500 МБ500 MB
1 ГБ1 GB
2 ГБ2 GB √ (D)√ (D)
5 ГБ5 GB НедоступноN/A
10 ГБ10 GB НедоступноN/A
20 ГБ20 GB НедоступноN/A
30 ГБ30 GB НедоступноN/A
40 ГБ40 GB НедоступноN/A
50 ГБ50 GB НедоступноN/A
100 ГБ100 GB НедоступноN/A
150 ГБ150 GB НедоступноN/A
200 ГБ200 GB НедоступноN/A
250 ГБ250 GB НедоступноN/A √ (D)√ (D) √ (D)√ (D)
300 ГБ300 GB Н/ДN/A Н/ДN/A
400 ГБ400 GB Н/ДN/A Н/ДN/A
500 ГБ500 GB Н/ДN/A Н/ДN/A √ (D)√ (D)
750 ГБ750 GB Н/ДN/A Н/ДN/A
1024 ГБ1024 GB Н/ДN/A Н/ДN/A √ (D)√ (D)
От 1024 до 4096 ГБ с шагом приращения 256 ГБ *From 1024 GB up to 4096 GB in increments of 256 GB* Н/ДN/A Н/ДN/A Н/ДN/A НедоступноN/A

* P11 и P15 позволяют задавать параметру MAXSIZE значение до 4 ТБ, при этом размер по умолчанию — 1024 ГБ.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 и P15 могут использовать до 4 ТБ включенного объема хранилища без дополнительной платы.P11 and P15 can use up to 4 TB of included storage at no additional charge. На уровне Premium использование MAXSIZE со значением более 1 ТБ сейчас доступно в следующих регионах: восточная часть США 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.

Значение MAXSIZE для модели DTU, если оно задано, должно быть одним из допустимых значений, приведенных в таблице выше для указанного уровня служб.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 model

Общее назначение — подготовленное вычисление — 4-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Общее назначение — подготовленное вычисление — 4-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Общее назначение — подготовленное вычисление — 5-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Общее назначение — подготовленное вычисление — 5-е поколение (часть 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
Максимальный размер данных (ГБ)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
Максимальный размер данных (ГБ)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
Максимальный размер данных (ГБ)Max data size (GB) 15361536 15361536 30723072 30723072 40964096

Общее назначение — бессерверное вычисление — 5-е поколение (часть 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
Максимальное число виртуальных ядерMax vCores 11 22 44 66 88

Общее назначение — бессерверное вычисление — 5-е поколение (часть 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
Максимальное число виртуальных ядерMax vCores 1010 1212 1414 1616

Общее назначение — бессерверное вычисление — 5-е поколение (часть 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
Максимальное число виртуальных ядерMax vCores 1818 2020 2424 3232 4040

Критически важный для бизнеса — подготовленное вычисление — 4-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Критически важный для бизнеса — подготовленное вычисление — 4-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Критически важный для бизнеса — подготовленное вычисление — 5-е поколение (часть 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
Максимальный размер данных (ГБ)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Критически важный для бизнеса — подготовленное вычисление — 5-е поколение (часть 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
Максимальный размер данных (ГБ)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
Максимальный размер данных (ГБ)Max data size (GB) 512512 640640 768768 896896 10241024 11521152

Критически важный для бизнеса — подготовленное вычисление — серия 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
Максимальный размер данных (ГБ)Max data size (GB) 12801280 15361536 20482048 40964096 40964096

Если при использовании модели виртуальных ядер значение MAXSIZE не задано, используется значение по умолчанию — 32 ГБ.If no MAXSIZE value is set when using the vCore model, the default is 32 GB. Дополнительные сведения об ограничениях ресурсов в модели виртуальных ядер см. в разделе Ограничения ресурсов в модели виртуальных ядер.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 автоматически получает значение 250 МБ.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 — значение 32 ГБ.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.

Дополнительные сведения об описании целях служб и о размере, выпусках и комбинациях целей служб см. в разделе Уровни служб базы данных SQL Azure.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. Описания целей служб и дополнительные сведения о сочетаниях размеров, выпусков и целей обслуживания см. в разделах Уровни обслуживания и уровни производительности баз данных SQL Azure, Ограничения ресурсов DTU и Ограничения ресурсов в модели виртуальных ядер.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 и управление им.For more information, see Create and manage a SQL Database elastic pool.

AS COPY OF [имя_исходного_сервера.]имя_исходной_базы Применимо к: Только отдельные и включенные в пул базы данных.AS COPY OF [source_server_name.]source_database_name Applies to: Single and pooled databases only. Для копирования базы данных на тот же или другой сервер База данных SQLSQL Database.For copying a database to the same or a different База данных SQLSQL Database server.

source_server_name Имя сервера База данных SQLSQL Database, на котором размещена база данных-источник.source_server_name The name of the База данных SQLSQL Database server where the source database is located. Этот параметр не является обязательным, если исходная и конечная базы данных расположены на одном сервере База данных SQLSQL Database.This parameter is optional when the source database and the destination database are to be located on the same База данных SQLSQL 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_name

Имя копируемой базы данных.The name of the database that is to be copied.

RemarksRemarks

Базы данных в База данных SQL AzureAzure SQL Database используют несколько параметров по умолчанию, устанавливаемых при создании базы данных.Databases in База данных SQL AzureAzure 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 в Базе данных SQL Azure позволяет позднее изменить значения размера, выпуска или целевого уровня службы.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. Поэтому соединение с сервером База данных SQLSQL Database не требуется в течение всего процесса копирования.Therefore, a connection to the База данных SQLSQL 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.

  • Наблюдение за процессом копирования на сервере База данных SQLSQL Database: запросите столбцы percentage_complete или replication_state_desc в dm_database_copies или столбец state в представлении sys.databases.Monitoring the copy process on an База данных SQLSQL 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 должна выполняться в контексте базы данных master на сервере База данных SQLSQL Database, на котором будет создана новая база данных.The CREATE DATABASE statement must be executed within the context of the master database of the База данных SQLSQL Database server where the new database will be created.
  • После завершения копирования целевой базой данных необходимо управлять как независимой базой данных.After the copying completes, the destination database must be managed as an independent database. Инструкции ALTER DATABASE и DROP 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.

Дополнительные сведения: Копирование базы данных SQL Azure с использованием Transact-SQL.For more information, see Create a copy of an Azure SQL database using Transact-SQL.

РазрешенияPermissions

Создавать базу данных могут следующие пользователи:To create a database, a login must be one of the following:

  • Субъект серверного уровняThe server-level principal login
  • Администратор Azure AD для локального сервера SQL Server AzureThe Azure AD administrator for the local Azure SQL Server
  • Участник роли базы данных dbmanagerA 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, на сервере-источнике База данных SQLSQL 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 База данных SQLSQL 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

В следующем примере создается копия базы данных db_original с именем db_copy и объемом вычислительных ресурсов (целью обслуживания) P2, заданным для одной базы данных.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' );

В следующем примере создается копия базы данных db_original с именем db_copy в эластичном пуле с именем ep1.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

См. также разделSee also

* База данных SQL
Управляемый экземпляр *
* SQL Database
Managed Instance *

 

Управляемый экземпляр SQL AzureAzure SQL Managed Instance

ОбзорOverview

В Управляемом экземпляре SQL Azure эта инструкция используется для создания базы данных.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).

RemarksRemarks

Базы данных в База данных SQL AzureAzure SQL Database используют несколько параметров по умолчанию, устанавливаемых при создании базы данных.Databases in База данных SQL AzureAzure 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 AD для локального сервера SQL Server AzureThe Azure AD administrator for the local Azure SQL Server
  • Участник роли базы данных dbcreatorA 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 эту инструкцию можно использовать с сервером Базы данных SQL Azure для создания базы данных 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. Это имя должно быть уникальным на сервере SQL Server, где могут размещаться базы данных База данных SQL AzureAzure SQL Database и Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse). Кроме того, оно должно соответствовать правилам SQL ServerSQL Server для идентификаторов.This name must be unique on the SQL server, which can host both База данных SQL AzureAzure SQL Database databases and Azure Synapse Analytics (Хранилище данных SQL)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)Azure Synapse Analytics (SQL Data Warehouse) используйте datawarehouse.For Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse) use 'datawarehouse'.

MAXSIZE —значение по умолчанию: 245 760 ГБ (240 ТБ).MAXSIZE The default is 245,760 GB (240 TB).

Применимо к: Оптимизировано для поколения вычислительных ресурсов 1Applies to: Optimized for Compute Gen1

Максимально допустимый размер базы данных.The maximum allowable size for the database. Размер базы данных не может превышать MAXSIZE.The database cannot grow beyond MAXSIZE.

Применимо к: Оптимизировано для поколения вычислительных ресурсов 2Applies to: Optimized for Compute Gen2

Максимально допустимый размер данных rowstore в базе данных.The maximum allowable size for rowstore data in the database. Размер данных, хранящихся в таблицах rowstore, разностном хранилище индекса columnstore или некластеризованном индексе на базе кластеризованного индекса columnstore не может превышать значение MAXSIZE. Ограничения по размеру (значение MAXSIZE) не применяются к данным, сжатым в формат columnstore.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. Дополнительные сведения: Улучшение производительности запросов с уровнем совместимости 130 в базе данных SQL Azure.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)Azure Synapse Analytics (SQL Data Warehouse)Examples: Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse)

A.A. Простой примерSimple example

Простой пример создания базы данных хранилища данных.A simple example for creating a data warehouse database. В примере создается база данных с наименьшим максимальным размером, равным 10 240 ГБ, параметром сортировки по умолчанию 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. Создание базы данных хранилища данных со всеми параметрами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 WarehouseParallel Data Warehouse product documentation.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF — указывает, будут ли параметры replicated_size, distributed_size и log_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_size и log_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 Warehouse вернет ошибку при попытке выполнения действия, которое требует увеличения значений replicated_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. Например, невозможно включить AUTOGROW для log_size и отключить для replicated_size.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. Задает размер (в виде целого или десятичного числа гигабайт) всего пространства, выделенного для реплицированных таблиц и соответствующих данных на каждом вычислительном узле.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 WarehouseParallel Data Warehouse product documentation.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Документация по Parallel Data WarehouseParallel 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. Размер (в виде целого или десятичного числа гигабайт) всего пространства, выделенного для распределенных таблиц и соответствующих данных на устройстве.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 WarehouseParallel Data Warehouse product documentation.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Документация по Parallel Data WarehouseParallel 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. Размер (в виде целого или десятичного числа гигабайт) для журнала транзакций на устройстве.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

Требования к минимальному и максимальному значению log_size см. в разделе "Минимальные и максимальные значения" в статье Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Документация по Parallel Data WarehouseParallel 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

Необходимо разрешение CREATE ANY DATABASE в базе данных master или членство в предопределенной роли сервера 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

Базы данных создаются с уровнем совместимости базы данных 120, который является уровнем совместимости для SQL Server 2014 (12.x)SQL Server 2014 (12.x).Databases are created with database compatibility level 120, which is the compatibility level for SQL Server 2014 (12.x)SQL Server 2014 (12.x). Это гарантирует, что база данных сможет использовать все функции SQL Server 2014 (12.x)SQL Server 2014 (12.x), которые использует PDW.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 WarehouseParallel Data Warehouse product documentation.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Документация по Parallel Data WarehouseParallel 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:

  • База данных SQL ServerSQL Server с таблицами со значением размера replicated_table_size.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • База данных SQL ServerSQL Server с таблицами со значением размера (distributed_table_size / количество вычислительных узлов).SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • Журналы SQL ServerSQL Server со значением размера (log_size / количество вычислительных узлов).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.databases и sys.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

В следующем примере создается база данных mytest с выделением 100 ГБ на вычислительный узел для реплицированных таблиц, 500 ГБ на устройство для распределенных таблиц и 100 ГБ на устройство для журнала транзакций.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 отключен по умолчанию.In this example, AUTOGROW is off by default.

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

В следующем примере создается база данных mytest с указанными выше параметрами, но AUTOGROW включен.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. Создание базы данных с десятичным числом гигабайтCreating a database with partial gigabyte sizes

В следующем примере создается база данных mytest с отключенным параметром AUTOGROW, с выделением 1,5 ГБ на вычислительный узел для реплицированных таблиц, 5,25 ГБ на устройство для распределенных таблиц и 10 ГБ на устройство для журнала транзакций.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