Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn Sie Volume Shadow Copy Services (VSS)-basierte Anwendungen verwenden, um Ihre SQL Server-Datenbanken zu sichern.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2014054
Problembeschreibung
Wenn Sie Volume Shadow Copy Services (VSS)-basierte Anwendungen verwenden, um Ihre SQL Server-Datenbanken zu sichern, schlägt der Sicherungsvorgang möglicherweise fehl, wenn der Datenbankname entweder führende oder nachfolgende Leerzeichen oder nicht druckbare Zeichen enthält.
Dasselbe Problem kann auch auftreten, wenn Sie versuchen, ein Volume zu sichern, das eine dieser Datenbanken enthält.
Ursache
VSS-basierte Sicherungsanwendungen verwenden SQLServerWriter
(SQLWriter) zum Abfragen von Writer-Metadatenkomponenteninformationen, um zu bestimmen, welche Datenbankdateien gesichert werden müssen. Die Writer-Metadatenkomponente wird von SQLWriter mithilfe der VSS-API erstellt und enthält drei Datasets:
- Autorenidentifikations- und Klassifizierungsinformationen
- Spezifikationen auf Writer-Ebene
- Komponentendaten
Wenn ein Datenbankname führende oder nachfolgende Leerzeichen oder nicht druckbare Zeichen enthält, wird dieses Dokument möglicherweise nicht erfolgreich erstellt. Daher können VSS-basierte Anwendungen diese Datenbanken oder Volumes, die diese Datenbanken enthalten, nicht sichern.
Lösung
Benennen Sie alle Datenbanken um, die führende oder nachfolgende Leerzeichen oder nicht druckbare Zeichen in ihren Namen enthalten. Sie können die folgende Abfrage verwenden, um das Vorhandensein solcher Zeichen vor oder am Ende der Namen zu finden:
SELECT database_id AS DatabaseID, '##'+name+'##' AS DatabaseName FROM sys.databases
Beispielausgabe:
DatabaseID DatabaseName
8 ##AdventureWorks## -- DB name is fine
15 ## DBWithLeadingSpace## -- DB name contains leading spaces
17 ##DBWithTrailingSpace ## -- DB name contains trailing spaces
Notiz
Wenn der Datenbankname in der vorhergehenden Abfrage nicht druckbare Zeichen enthält, werden sie entweder als Leerzeichen oder junk-E-Mail ausgedruckt.
Weitere Informationen
Autoren (wie SQL Writer) fügen Komponenten mithilfe von IVssCreateWriterMetadata::AddComponent hinzu, wobei die folgenden Komponenteninformationen angegeben werden:
- type
- Name
- Logischer Pfad (falls vorhanden)
- Unterstützte Funktion
- Auswählbarkeit
- Metadaten, die während der Wiederherstellung vom Writer verwendet werden sollen
- Anzeigeinformationen
- Benachrichtigungsinformationen
C (Volume Shadow Copy Service) sind Sammlungen von Dateien, die eine logische Einheit für die Sicherung und Wiederherstellung bilden. Alle Dateien in einer Komponente (mit Ausnahme der explizit ausgeschlossenen) müssen gesichert und als Einheit wiederhergestellt werden.
Weitere Informationen finden Sie unter VSS-Metadaten.
Sie können eine oder mehrere der folgenden Methoden verwenden, um zu ermitteln, ob dieses Problem besteht:
Verschiedene Sicherungsanwendungen lösen möglicherweise benutzerdefinierte Nachrichten zu
SqlServerWriter
(oder SQLWriter) aus, die nicht gefunden werden.Wenn Sie über eine Eingabeaufforderung auf dem SQL Server-Zielcomputer ausgeführt werden, wird die Ausgabe nicht angezeigt
SqlServerWriter
.vssadmin list writers