sp_add_data_file_recover_suspect_db (Transact-SQL)
Добавляет файл данных в файловую группу, если восстановление базы данных не может быть завершено из-за недостатка места в файловой группе (ошибка 1105). После добавления файла эта хранимая процедура отключает параметр подозрения и завершает восстановление базы данных. Параметры этой процедуры такие же, как у инструкции ALTER DATABASE database_name ADD FILE.
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_add_data_file_recover_suspect_db [ @dbName= ] 'database'
, [ @filegroup = ] 'filegroup_name'
, [ @name = ] 'logical_file_name'
, [ @filename= ] 'os_file_name'
, [ @size = ] 'size'
, [ @maxsize = ] 'max_size'
, [ @filegrowth = ] 'growth_increment'
Аргументы
[ @dbName= ] **'**database '
Имя базы данных. Аргумент database имеет тип sysname и не имеет значения по умолчанию.[ @filegroup= ] **'**filegroup_name '
Файловая группа, в которую будет добавлен файл. Аргумент filegroup_name имеет тип nvarchar(260) и значение по умолчанию NULL, которое соответствует первичному файлу.[ @name= ] **'**logical_file_name '
Имя, используемое компонентом SQL Server для ссылки на файл. Имя должно быть уникальным в пределах сервера. Аргумент logical_file_name имеет тип nvarchar(260) и не имеет значения по умолчанию.[ @filename= ] **'**os_file_name '
Путь и имя файла, используемые операционной системой. Файл должен находиться на сервере, на котором установлен экземпляр компонента Компонент Database Engine. Аргумент os_file_name имеет тип nvarchar(260) и не имеет значения по умолчанию.[ @size= ] **'**size '
Задает начальный размер файла. Аргумент size имеет тип nvarchar(20) и значение по умолчанию NULL. Укажите целое число (без дробной части). Для указания единицы измерения размера файла (мегабайт или килобайт) можно использовать суффиксы МБ и КБ. По умолчанию — MБ. Минимальное значение размера файла — 512 КБ. Если аргумент size не указан, по умолчанию используется значение 1 МБ.[ @maxsize= ] **'**max_size '
Максимальный размер, до которого может увеличиться размер файла. Аргумент max_size имеет тип nvarchar(20) и значение по умолчанию NULL. Укажите целое число (без дробной части). Для указания единицы измерения размера файла (мегабайт или килобайт) можно использовать суффиксы МБ и КБ. По умолчанию — MБ.Если аргумент max_size не указан, файл будет увеличиваться до исчерпания пространства на диске. Журнал приложений Microsoft Windows предупреждает администратора, если диск заполнен почти полностью.
[ @filegrowth= ] **'**growth_increment '
Объем пространства, добавляемого к файлу каждый раз, когда требуется новое пространство. Аргумент growth_increment имеет тип nvarchar(20) и значение по умолчанию NULL. Значение 0 обозначает отсутствие прироста. Укажите целое число (без дробной части). Значение может быть задано в мегабайтах (МБ), килобайтах (КБ) или процентах (%). Если значение задано в процентах, шаг роста рассчитывается в процентах от размера файла в тот момент, когда потребовалось приращение. Если указано число без суффикса MB, KB или %, то по умолчанию используется MB.Если аргумент growth_increment равен NULL, по умолчанию используется значение 10 %, а минимальный размер составляет 64 КБ. Указанный размер округляется до ближайших 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\MSSQL11.MSSQLSERVER\MSSQL\Data\db1_file2.mdf', '1MB';