Condividi tramite


sp_add_log_file_recover_suspect_db (Transact-SQL)

Aggiunge un file di log a un filegroup quando non è possibile completare il recupero di un database a causa di spazio del log insufficiente (errore 9002). Dopo l'aggiunta del file, la stored procedure sp_add_log_file_recover_suspect_db disattiva l'impostazione sospetta e completa il recupero del database. I parametri corrispondono a quelli dell'istruzione ALTER DATABASE database_name ADD LOG FILE.

Nota importanteImportante

Prima di utilizzare questa stored procedure, prendere in considerazione le alternative descritte in Risoluzione dei problemi relativi a spazio su disco dati insufficiente.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_add_log_file_recover_suspect_db [ @dbName= ] 'database' , 
    [ @name = ] 'logical_file_name' , 
    [ @filename= ] 'os_file_name' , 
    [ @size = ] 'size' , 
    [ @maxsize = ] 'max_size' , 
    [ @filegrowth = ] 'growth_increment'

Argomenti

  • [ @dbName = ] 'database'
    Nome del database. database è di tipo sysname e non prevede alcun valore predefinito.

  • [ @name= ] 'logical_file_name'
    Nome utilizzato in SQL Server 2005 Database Engine (Motore di database) per fare riferimento al file. Deve essere un nome univoco nel server. logical_file_name è di tipo nvarchar(260) e non prevede alcun valore predefinito.

  • [ @filename = ] 'os_file_name'
    Percorso e nome di file utilizzato dal sistema operativo per il file. Il file deve essere disponibile nel server in cui è installato Motore di database. os_file_name è di tipo nvarchar(260) e non prevede alcun valore predefinito.

  • [ @size= ] **'**size '
    Dimensioni iniziali del file. size è di tipo nvarchar(20) e il valore predefinito è NULL. Specificare un numero intero, ovvero non includere decimali. È possibile utilizzare i suffissi MB e KB per specificare megabyte o kilobyte. Il valore predefinito è MB. Il valore minimo è 512 KB. Se size viene omesso, il valore predefinito è 1 MB.

  • [ @maxsize= ] **'**max_size '
    Dimensioni massime del file. max_size è di tipo nvarchar(20) e il valore predefinito è NULL. Specificare un numero intero, ovvero non includere decimali. È possibile utilizzare i suffissi MB e KB per specificare megabyte o kilobyte. Il valore predefinito è MB.

    Se max_size viene omesso, le dimensioni del file aumentano fino a quando il disco non risulta pieno. Prima che si verifichi questa situazione, l'amministratore riceve un avviso dal registro applicazioni di Microsoft Windows.

  • [ @filegrowth= ] **'**growth_increment '
    Quantità di spazio aggiunta al file ogni volta che è necessario spazio aggiuntivo. growth_increment è di tipo nvarchar(20) e il valore predefinito è NULL. Il valore 0 indica che le dimensioni non verranno aumentate. Specificare un numero intero, ovvero non includere decimali. È possibile specificare il valore in megabyte (MB) o in kilobyte (KB) oppure in forma di percentuale (%). Se si utilizza il suffisso %, l'incremento corrisponde alla percentuale specificata delle dimensioni del file quando si verifica l'incremento. Se si specifica un valore senza il suffisso MB, KB o %, il suffisso predefinito è MB.

    Se growth_increment è NULL, il valore predefinito è 10% e il valore minimo è 64 KB. Le dimensioni specificate vengono arrotondate al blocco di 64 KB più prossimo.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Autorizzazioni

Le autorizzazioni di esecuzione vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin. Queste autorizzazioni non sono trasferibili.

Esempi

Nell'esempio seguente, il database db1 è stato contrassegnato come sospetto durante il recupero a causa di spazio insufficiente nel log (errore 9002).

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