Share via


NSVacuum (Transact-SQL)

Führt den Vacuumprozess manuell aus, durch den veraltete Daten aus der Anwendungsdatenbank entfernt werden. Wenn der in der Anwendungsdefinitionsdatei (Application Definition File, ADF) definierte aktuelle Zeitplan für das Vacuuming nicht geeignet ist, empfiehlt es sich, den Zeitplan zu ändern und die Anwendung zu aktualisieren. Die manuelle Ausführung des Vacuumprozesses empfiehlt sich nur, wenn dies unvermeidbar ist (z. B. wenn der Speicherplatz der Datenbank erschöpft ist).

ms179860.note(de-de,SQL.90).gifWichtig:
Die manuelle Ausführung des Vacuumprozesses sollte nicht erfolgen, wenn er bereits ausgeführt wird oder die Ausführung in einem Zeitplan vorgesehen ist. Es könnten Anwendungsfehler auftreten, die dazu führen, dass keine Daten entfernt werden.

Syntax

[ schema_name . ] NSVacuum
    [@SecondsToRun = ] max_vacuuming_time

Argumente

[ @SecondsToRun =] max_vacuuming_time

Maximale Ausführungsdauer (in Sekunden) der gespeicherten Prozedur NSVacuum. Wenn der Vacuumprozess alle Daten entfernt hat, bevor der angegebene Zeitraum verstrichen ist, wird das Vacuuming in diesem Moment beendet. Wenn der Vacuumprozess innerhalb des angegebenen Zeitraums nicht alle fraglichen Daten entfernen konnte, wird er beendet, ohne dass alle veralteten Daten entfernt wurden. Bei der nächsten Ausführung dieser gespeicherten Prozedur wird das Vacuuming an der Stelle fortgesetzt, an der es zuvor beendet wurde. max_vacuuming_time ist ein Wert vom Datentyp int und hat keinen Standardwert.

Hinweise

Microsoft SQL Server Notification Services erstellt die gespeicherte Prozedur NSVacuum in der Anwendungsdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Anwendung aktualisieren, wird die gespeicherte Prozedur von Notification Services neu kompiliert.

Diese gespeicherte Prozedur befindet sich im Schema der Anwendung, das durch das SchemaName-Element der ADF angegeben wird. Falls kein Schemaname bereitgestellt wurde, wird dbo als Standardschema verwendet.

Verwenden Sie die gespeicherte Prozedur NSSnapshotApplications oder das Leistungsobjekt **NS$**instance_name: Vacuumer, um das Vacuuming zu überwachen.

Berechtigungen

Standardmäßig verfügen Mitglieder der Datenbankrollen NSRunService und NSVacuum, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin über Berechtigungen zum Ausführen dieser Prozedur.

Resultset

Spaltenname Datentyp Beschreibung

Status

int

Der aktuelle Status des Vacuumprozesses. Mögliche Werte sind 0 (aktiv), 2 (abgeschlossen) und 3 (Zeitlimit überschritten). Bei der manuellen Ausführung des Vacuumprozesses wird der Wert 0 nicht zurückgegeben.

QuantumsVacuumed

int

Anzahl von Quanten, die während des aktuellen Vacuumzeitraums erfolgreich aus der Datenbank entfernt wurden.

QuantumsRemaining

int

Anzahl von Quanten, die hätten entfernt werden können, jedoch nicht entfernt wurden, da das Zeitlimit überschritten wurde.

Beispiele

Im folgenden Beispiel wird der Vacuumprozess für eine Dauer von fünf Minuten ausgeführt. Die gespeicherte Prozedur befindet sich (wie alle anderen Objekte für diese Anwendung) im Stock-Schema, wie im SchemaName-Element der ADF angegeben.

EXEC dbo.NSVacuum 
    @SecondsToRun = 300;

Siehe auch

Verweis

NSSnapshotApplications (Transact-SQL)

Andere Ressourcen

NS$instance_name: Vacuumer-Objekt
Entfernen von veralteten Anwendungsdaten
Vacuum Element (ADF)
SchemaName Element (ADF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005