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 MB
sufixo , 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';