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
, KB
o 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 MB
suffisso , KB
o %
, 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';