sp_add_data_file_recover_suspect_db (Transact-SQL)

Gilt für:SQL Server

Fügt einer Dateigruppe eine Datendatei hinzu, wenn die Wiederherstellung für eine Datenbank aufgrund unzureichendem Speicherplatz in der Dateigruppe nicht abgeschlossen werden kann (Fehler 1105). Nachdem die Datei hinzugefügt wurde, deaktiviert diese gespeicherte Prozedur die Einstellung, die die Datenbank als fehlerverdächtig kennzeichnet, und führt die Wiederherstellung der Datenbank durch. Die Parameter entsprechen den Parametern für ALTER DATABASE <database_name> ADD FILE.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @dbName = ] 'Datenbank'

Der Name der Datenbank. @dbName ist "sysname" ohne Standard.

[ @filegroup = ] N'filegroup_name'

Die Dateigruppe, der Sie die Datei hinzufügen. @filegroup ist nvarchar(260), mit einem Standardwert von NULL, der die primäre Datei angibt.

[ @name = ] N'logical_file_name'

Der Name, der im SQL Server verwendet wird, um auf die Datei zu verweisen. Der Name muss auf dem Server eindeutig sein. @name ist nvarchar(260) ohne Standard.

[ @filename = ] N'os_file_name'

Der Pfad und der Dateiname, der vom Betriebssystem für die Datei verwendet wird. Die Datei muss sich in einer Instanz des Datenbank-Engine befinden. @filename ist nvarchar(260), ohne Standard.

[ @size = ] N'size'

Die Anfangsgröße der Datei. @size ist "nvarchar(20)", mit einem Standardwert von NULL. Geben Sie eine ganze Zahl an; fügen Sie kein Dezimalzeichen ein. Die MB Suffixe KB können verwendet werden, um Megabyte oder Kilobyte anzugeben. Der Standardwert ist MB. Der Mindestwert ist 512 KB. Wenn @size nicht angegeben ist, ist der Standardwert 1 MB.

[ @maxsize = ] N'max_size'

Die maximale Größe, auf die die Datei vergrößert werden kann. @maxsize ist nvarchar(20), wobei die Standardeinstellung istNULL. Geben Sie eine ganze Zahl an; fügen Sie kein Dezimalzeichen ein. Die MB Suffixe KB können verwendet werden, um Megabyte oder Kilobyte anzugeben. Der Standardwert ist MB.

Wenn @maxsize nicht angegeben ist, wächst die Datei, bis der Datenträger voll ist. Das Microsoft Windows-Anwendungsprotokoll warnt einen Administrator, wenn ein Datenträger bald voll wird.

[ @filegrowth = ] N'growth_increment'

Der Speicherplatz, der der Datei jedes Mal hinzugefügt wird, wenn ein neuer Speicherplatz erforderlich ist. @filegrowth ist nvarchar(20) mit einem Standardwert von NULL. Ein Wert von 0 "Kein Wachstum". Geben Sie eine ganze Zahl an; fügen Sie kein Dezimalzeichen ein. Der Wert kann in MB, oder KBProzent (%) angegeben werden. Wenn % angegeben wird, wird der Wachstumsschritt der angegebene Prozentsatz der Größe der Datei zum Zeitpunkt des Inkrements angegeben. Wenn eine Zahl ohne ein MB, KBoder % Suffix angegeben wird, ist MBdie Standardeinstellung .

Wenn @filegrowth NULL ist, lautet 10%der Standardwert , und der Minimalwert ist 64 KB. Die angegebene Größe wird auf den nächsten durch 64 KB teilbaren Wert gerundet.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Resultset

Keine.

Berechtigungen

Berechtigungen werden standardmäßig für Mitglieder der festen Serverrolle "sysadmin " ausgeführt. Diese Berechtigungen können nicht übertragen werden.

Beispiele

Im folgenden Beispiel wurde die db1-Datenbank bei der Wiederherstellung aufgrund unzureichenden Speicherplatzes (Fehler 1105) in der fg1-Dateigruppe als fehlerverdächtig gekennzeichnet.

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