Compartilhar via


sp_add_data_file_recover_suspect_db (Transact-SQL)

Aplica-se: SQL Server

Adiciona um arquivo de dados a um grupo de arquivos quando a recuperação não pode ser concluída em um banco de dados devido ao espaço insuficiente no grupo de arquivos (erro 1105). Depois que o arquivo é adicionado, esse procedimento armazenado desativa a configuração suspeita e conclui a recuperação do banco de dados. Os parâmetros são os mesmos do .ALTER DATABASE <database_name> ADD FILE

Convenções de sintaxe de Transact-SQL

Sintaxe

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'
[ ; ]

Argumentos

@dbName [ = ] 'banco de dados'

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

@filegroup [ = ] N'filegroup_name'

O grupo de arquivos ao qual você está adicionando o arquivo. @filegroup é nvarchar(260), com um padrão de NULL, que indica o arquivo primário.

@name [ = ] N'logical_file_name'

O nome usado no SQL Server para fazer referência ao arquivo. O nome deve ser exclusivo no servidor. @name é nvarchar(260), sem padrão.

@filename [ = ] N'os_file_name'

O caminho e o nome do arquivo usados pelo sistema operacional para o arquivo. O arquivo deve residir em uma instância do Mecanismo de Banco de Dados. @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 and KB podem ser usados para especificar megabytes ou kilobytes. O padrão é MB. O valor mínimo é 512 KB. Se @size não for especificado, o padrão será 1 MB.

@maxsize [ = ] N'max_size'

O tamanho máximo para o qual o arquivo pode crescer. @maxsize é nvarchar(20), com um padrão de NULL. Especifique um número inteiro; não inclua um decimal. Os MB sufixos and KB podem ser usados para especificar megabytes ou kilobytes. O padrão é MB.

Se @maxsize não for especificado, o arquivo crescerá até que o disco esteja cheio. O log de aplicativo do Windows adverte o administrador quando o disco está quase cheio.

@filegrowth [ = ] N'growth_increment'

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

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

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Permissões

Executar permissões padrão para membros da função de servidor fixa sysadmin . Essas permissões não são transferíveis.

Exemplos

No exemplo a seguir, o banco de dados db1 foi marcado como suspeito durante a recuperação, devido a espaço insuficiente (erro 1105) no grupo de arquivos fg1.

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';