Condividi tramite


sp_add_data_file_recover_suspect_db (Transact-SQL)

Si applica a: SQL Server

Aggiunge un file di dati a un filegroup quando il ripristino non può essere completato in un database a causa di spazio insufficiente nel filegroup (errore 1105). Dopo l'aggiunta del file, la stored procedure disabilita l'impostazione sospetta e completa il recupero del database. I parametri sono uguali a per ALTER DATABASE <database_name> ADD FILE.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @dbName = ] 'database'

Nome del database. @dbName è sysname, senza impostazione predefinita.

[ @filegroup = ] N'filegroup_name'

Filegroup a cui si aggiunge il file. @filegroup è nvarchar(260), con un valore predefinito NULL, che indica il file primario.

[ @name = ] N'logical_file_name'

Nome utilizzato in SQL Server per fare riferimento al file. Deve essere un nome univoco nel server. @name è nvarchar(260), senza impostazione predefinita.

[ @filename = ] N'os_file_name'

Percorso e nome file utilizzato dal sistema operativo per il file. Il file deve risiedere in un'istanza del motore di database. @filename è nvarchar(260), senza impostazione predefinita.

[ @size = ] N'size'

Dimensioni iniziali del file. @size è nvarchar(20), con il valore predefinito NULL. Specificare un numero intero; non includere un decimale. I MB suffissi e KB possono essere utilizzati per specificare megabyte o kilobyte. Il valore predefinito è MB. Il valore minimo è 512 KB. Se non viene specificato @size , il valore predefinito è 1 MB.

[ @maxsize = ] N'max_size'

Dimensione massima in base alla quale il file può aumentare. @maxsize è nvarchar(20), con il valore predefinito NULL. Specificare un numero intero; non includere un decimale. I MB suffissi e KB possono essere utilizzati per specificare megabyte o kilobyte. Il valore predefinito è MB.

Se @maxsize non viene specificato, il file aumenta fino a quando il disco non è pieno. Prima che si verifichi questa situazione, l'amministratore riceve un avviso dal registro applicazioni di Windows.

[ @filegrowth = ] N'growth_increment'

Quantità di spazio aggiunta al file ogni volta che è necessario nuovo spazio. @filegrowth è nvarchar(20), con il valore predefinito NULL. Il valore indica 0 che non viene eseguita alcuna crescita. Specificare un numero intero; non includere un decimale. Il valore può essere specificato in MB, KBo percentuale (%). Quando % viene specificato, l'incremento di crescita è la percentuale specificata delle dimensioni del file al momento in cui si verifica l'incremento. Se un numero viene specificato senza un MBsuffisso , KBo % , il valore predefinito è MB.

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

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Autorizzazioni

Autorizzazioni di esecuzione predefinite per i membri del ruolo predefinito del server sysadmin . Queste autorizzazioni non sono trasferiscibili.

Esempi

In questo esempio il database db1 è stato contrassegnato come sospetto durante l'operazione di recupero a causa di spazio insufficiente (errore 1105) nel filegroup 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';