sp_add_data_file_recover_suspect_db (Transact-SQL)

Adiciona um arquivo de dados a um grupo de arquivos quando a recuperação não consegue ser concluída em um banco de dados devido a 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 de ALTER DATABASE database_name ADD FILE.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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'

Argumentos

  • [ @dbName= ] **'**database '
    É o nome do banco de dados. database é sysname, sem padrão.

  • [ @filegroup= ] **'**filegroup_name '
    É o grupo de arquivos ao qual o arquivo será adicionado. filegroup_name é nvarchar(260), com um padrão NULL, que indica o arquivo primário.

  • [ @name= ] **'**logical_file_name '
    É o nome usado no Mecanismo de Banco de Dados do SQL Server 2005 para referenciar o arquivo. O nome precisa ser exclusivo no servidor. logical_file_name é nvarchar(260), sem padrão.

  • [ @filename= ] **'**os_file_name '
    É o caminho e o nome de arquivo usados no sistema operacional para o arquivo. O arquivo precisa residir em uma instância do Mecanismo de Banco de Dados. os_file_name é nvarchar(260), sem padrão.

  • [ @size= ] **'**size '
    É o tamanho inicial do arquivo. size é nvarchar(20), com um padrão NULL. Especifique um número inteiro; não inclua um decimal. Os sufixos MB e KB podem ser usados para especificar megabytes ou quilobytes. O padrão é MB. O valor mínimo é 512 KB. Se size não estiver especificado, o padrão será 1 MB.

  • [ @maxsize= ] **'**max_size '
    É o tamanho máximo até o qual o arquivo poderá crescer. max_size é nvarchar(20), com um padrão NULL. Especifique um número inteiro; não inclua um decimal. Os sufixos MB e KB podem ser usados para especificar megabytes ou quilobytes. O padrão é MB.

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

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

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

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Permissões

As permissões de execução usam como padrão 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\MSSQL10_50.MSSQLSERVER\MSSQL\Data\db1_file2.mdf', '1MB';