Share via


sp_add_log_file_recover_suspect_db (Transact-SQL)

Fügt einer Dateigruppe eine Protokolldatei hinzu, wenn die Wiederherstellung für eine Datenbank wegen unzureichendem Protokollspeicherplatzes (Fehler 9002) nicht ausgeführt werden kann. Nachdem die Datei hinzugefügt wurde, deaktiviert sp_add_log_file_recover_suspect_db die Einstellung, die die Datenbank als fehlerverdächtig kennzeichnet, und führt die Wiederherstellung der Datenbank aus. Die Parameter sind dieselben wie für ALTER DATABASE database_name ADD LOG FILE.

Wichtiger HinweisWichtig

Prüfen Sie vor Verwendung dieser gespeicherten Prozedur die unter Problembehandlung bei unzureichendem Speicherplatz für Daten erläuterten Alternativen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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'

Argumente

  • [ @dbName = ] 'database'
    Der Name der Datenbank. database ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @name= ] 'logical_file_name'
    Der Name, der in SQL Server 2005 Database Engine (Datenbankmodul) zum Verweis auf die Datei verwendet wird. Der Name muss auf dem Server eindeutig sein. logical_file_name ist vom Datentyp nvarchar(260) und hat keinen Standardwert.

  • [ @filename = ] 'os_file_name'
    Der Pfad und der Dateiname, die vom Betriebssystem für die Datei verwendet werden. Die Datei muss sich auf dem Server befinden, auf dem Database Engine (Datenbankmodul) installiert ist. os_file_name ist vom Datentyp nvarchar(260) und hat keinen Standardwert.

  • [ @size= ] **'**size '
    Die Anfangsgröße der Datei. size ist vom Datentyp nvarchar(20) und hat den Standardwert NULL. Geben Sie eine ganze Zahl (also ohne Dezimalstellen) an. Die Suffixe MB und KB können verwendet werden, um Megabyte bzw. Kilobyte als Einheit anzugeben. Der Standardwert ist MB. Der Mindestwert ist 512 KB. Ist size nicht angegeben, beträgt der Standardwert 1 MB.

  • [ @maxsize= ] **'**max_size '
    Die maximale Größe, die die Datei erreichen kann. max_size ist vom Datentyp nvarchar(20) und hat den Standardwert NULL. Geben Sie eine ganze Zahl (also ohne Dezimalstellen) an. Die Suffixe MB und KB können verwendet werden, um Megabyte bzw. Kilobyte als Einheit anzugeben. Der Standardwert ist MB.

    Wenn max_size nicht angegeben ist, kann die Datei so lange vergrößert werden, bis der Speicherplatz auf dem Datenträger erschöpft ist. Das Anwendungsprotokoll von Microsoft Windows warnt den Administrator, bevor der Speicherplatz auf einem Datenträger erschöpft ist.

  • [ @filegrowth= ] **'**growth_increment '
    Der Speicherplatz, der der Datei hinzugefügt wird, wenn neuer Speicherplatz erforderlich wird. growth_increment ist vom Datentyp nvarchar(20) und hat den Standardwert NULL. Durch den Wert 0 wird angezeigt, dass die Datei nicht vergrößert wird. Geben Sie eine ganze Zahl (also ohne Dezimalstellen) an. Der Wert kann in MB, KB oder Prozent (%) angegeben werden. Wenn der Wert in Prozent angegeben wird, ist growth increment der angegebene Prozentsatz der Dateigröße zum Zeitpunkt der Vergrößerung. Bei Zahlen ohne Angabe von MB, KB oder % wird standardmäßig MB verwendet.

    Falls growth_increment auf NULL festgelegt wird, ist der Standardwert 10 % und der Mindestwert 64 KB. Die angegebene Größe wird auf den nächsten durch 64 KB teilbaren Wert gerundet.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Berechtigungen

Die Ausführungsberechtigungen erhalten standardmäßig Mitglieder der festen Serverrolle sysadmin. Diese Berechtigungen sind nicht übertragbar.

Beispiele

Im folgenden Beispiel wurde die db1-Datenbank bei der Wiederherstellung aufgrund unzureichenden Protokollspeicherplatzes (Fehler 9002) als fehlerverdächtig gekennzeichnet.

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