sp_add_data_file_recover_suspect_db (Transact-SQL)

Применимо к:SQL Server

Добавляет файл данных в файловую группу, когда восстановление не может завершиться в базе данных из-за нехватки места в группе файлов (ошибка 1105). После добавления файла эта хранимая процедура отключает параметр подозрения и завершает восстановление базы данных. Параметры совпадают с ALTER DATABASE <database_name> ADD FILEпараметрами.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_add_data_file_recover_suspect_db [ @dbName = ] 'database'
    , [ @filegroup = ] N'filegroup_name'
    , [ @name = ] N'logical_file_name'
    , [ @filename = ] N'os_file_name'
    , [ @size = ] N'size'
    , [ @maxsize = ] N'max_size'
    , [ @filegrowth = ] N'growth_increment'
[ ; ]

Аргументы

[ @dbName = ] 'database'

Имя базы данных. @dbName — sysname без значения по умолчанию.

[ @filegroup = ] N'filegroup_name'

Файловая группа, в которую добавляется файл. @filegroup — nvarchar(260) с значением по умолчаниюNULL, указывающее основной файл.

[ @name = ] N'logical_file_name'

Имя, используемое в SQL Server для ссылки на файл. Имя должно быть уникальным в пределах сервера. @name — nvarchar(260), без значения по умолчанию.

[ @filename = ] N'os_file_name'

Путь и имя файла, используемые операционной системой для файла. Файл должен находиться в экземпляре ядро СУБД. @filename — nvarchar(260), без значения по умолчанию.

[ @size = ] N'size'

Начальный размер файла. @size — nvarchar(20) с значением по умолчаниюNULL. Укажите целое число; Не включать десятичное значение. Суффиксы MB и KB суффиксы можно использовать для указания мегабайтов или килобайтов. Значение по умолчанию — MB. Минимальное значение размера файла — 512 КБ. Если @size не указан, значение по умолчанию равно 1 МБ.

[ @maxsize = ] N'max_size'

Максимальный размер, к которому может расти файл. @maxsize — nvarchar(20) с значением по умолчаниюNULL. Укажите целое число; Не включать десятичное значение. Суффиксы MB и KB суффиксы можно использовать для указания мегабайтов или килобайтов. Значение по умолчанию — MB.

Если @maxsize не указан, файл будет расти до тех пор, пока диск не будет заполнен. Журнал приложений Microsoft Windows предупреждает администратора, когда диск будет заполнен.

[ @filegrowth = ] N'growth_increment'

Объем пространства, добавляемого в файл каждый раз, когда требуется новое пространство. @filegrowth — nvarchar(20), с значением по умолчаниюNULL. Значение 0 указывает на отсутствие роста. Укажите целое число; Не включать десятичное значение. Значение может быть указано в MB, KBили проценте (%). При % указании приращение роста — это указанный процент размера файла во время увеличения. Если число указано без MBKBсуффикса или % суффикса, значение по умолчанию MB.

Если @filegrowth имеет значение NULL, значение по умолчанию равно 10%, а минимальное значение — 64 KB. Указанный размер округляется до ближайших 64 КБ.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Нет.

Разрешения

Выполнение разрешений по умолчанию для членов предопределенных ролей сервера sysadmin . Эти разрешения не переносимы.

Примеры

В следующем примере база данных db1 была отмечена во время восстановления как подозрительная из-за недостатка места в файловой группе fg1 (ошибка 1105).

USE master;
GO

EXEC sp_add_data_file_recover_suspect_db db1,
    fg1,
    file2,
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\db1_file2.mdf',
    '1 MB';

См. также