Поделиться через


sp_add_log_file_recover_suspect_db (Transact-SQL)

Область применения: SQL Server

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

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

Синтаксис

sp_add_log_file_recover_suspect_db [ @dbName = ] 'database'
    , [ @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 без значения по умолчанию.

[ @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 не указан, файл будет расти до тех пор, пока диск не будет заполнен. Журнал приложений Windows предупреждает администратора, если диск заполнен почти полностью.

[ @filegrowth = ] N'growth_increment'

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

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

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

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

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

Нет.

Разрешения

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

Примеры

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

USE master;
GO

EXEC sp_add_log_file_recover_suspect_db db1,
    logfile2,
    'C:\Program Files\Microsoft SQL
    Server\MSSQL13.MSSQLSERVER\MSSQL\Data\db1_logfile2.ldf',
    '1 MB';