sys.sp_add_data_file_recover_suspect_db (Transact-SQL)

Aplica-se a: SQL Server

Adiciona um ficheiro de dados a um grupo de ficheiros quando a recuperação não consegue ser concluída numa base de dados devido a espaço insuficiente no grupo de ficheiros (erro 1105). Após a adição do ficheiro, este procedimento armazenado desativa a definição suspeita e conclui a recuperação da base de dados. Os parâmetros são os mesmos que para ALTER DATABASE <database_name> ADD FILE.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_add_data_file_recover_suspect_db
    [ @dbName = ] N'dbName'
    , [ @filegroup = ] N'filegroup'
    , [ @name = ] N'name'
    , [ @filename = ] N'filename'
    [ , [ @size = ] N'size' ]
    [ , [ @maxsize = ] N'maxsize' ]
    [ , [ @filegrowth = ] N'filegrowth' ]
[ ; ]

Arguments

[ @dbName = ] N'dbName'

O nome do banco de dados. @dbName é sysname, sem padrão.

[ @filegroup = ] N'grupo de ficheiros'

O grupo de ficheiros ao qual estás a adicionar o ficheiro. @filegroup é nvarchar(260), com um padrão de NULL, que indica o ficheiro primário.

[ @name = ] N'nome'

O nome usado no SQL Server para referenciar o ficheiro. O nome tem de ser único no servidor. @name é nvarchar(260), sem padrão.

[ @filename = ] N'nome do ficheiro'

O caminho e o nome do ficheiro usados pelo sistema operativo para o ficheiro. O ficheiro deve residir numa instância do Database Engine. @filename é nvarchar(260), sem padrão.

[ @size = ] N'tamanho'

O tamanho inicial do arquivo. @size é nvarchar(20), com um padrão de NULL. Especifique um número inteiro; Não inclua um decimal. Os MB sufixos e KB podem ser usados para especificar megabytes ou kilobytes. A predefinição é MB. O valor mínimo é 512 KB. Se @size não for especificado, o padrão é 1 MB.

[ @maxsize = ] N'maxsize'

O tamanho máximo a que o ficheiro pode crescer. @maxsize é nvarchar(20), com um padrão de NULL. Especifique um número inteiro; Não inclua um decimal. Os MB sufixos e KB podem ser usados para especificar megabytes ou kilobytes. A predefinição é MB.

Se @maxsize não for especificado, o ficheiro cresce até o disco ficar cheio. O registo de aplicações do Windows avisa um administrador quando um disco está prestes a ficar cheio.

[ @filegrowth = ] N'crescimento de ficheiro'

A quantidade de espaço adicionada ao ficheiro cada vez que é necessário novo espaço. @filegrowth é nvarchar(20), com um padrão de NULL. Um valor de 0 indica que não há crescimento. Especifique um número inteiro; Não inclua um decimal. O valor pode ser especificado em MB, KB, ou percentagem (%). Quando % é especificado, o incremento de crescimento é a percentagem especificada do tamanho do ficheiro no momento em que o incremento ocorre. Se um número for especificado sem , MBKB, ou % sufixo, o padrão é MB.

Se @filegrowth for NULL, o valor padrão é 10%, e o valor mínimo é 64 KB. O tamanho especificado é arredondado para os 64 KB mais próximos.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Nenhum.

Permissions

As permissões de execução são atribuídas por defeito aos membros do papel fixo de servidor sysadmin . Estas permissões não são transferíveis.

Examples

No exemplo seguinte, a base de dados db1 foi marcada como suspeita durante a recuperação devido a espaço insuficiente (erro 1105) no grupo fg1de ficheiros .

USE master;
GO

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