Sdílet prostřednictvím


Übersicht über Dateien und Dateigruppen

Aktualisiert: November 2007

Durch die Definition und Verwendung zusätzlicher Dateigruppen können Sie die Datenbankleistung verbessern und die Sicherung und Wiederherstellung Ihrer Datenbankobjekte besser verwalten. Zum Beispiel können Sie Dateigruppen auf verschiedenen physischen Datenträgern definieren, um die Zugriffsgeschwindigkeit zu reduzieren. Wenn Sie alle Datenbankobjekte in einem Schema einer bestimmten Dateigruppe zuordnen, können Sie diese Objekte dann zusammen sichern und wiederherstellen. Weitere Information über Dateigruppen finden Sie unter Physical Database Files and Filegroups.

Verhalten

Bevor Sie Dateien und Dateigruppen in Ihrem Datenbankprojekt definieren, sollten Sie die folgenden Verhaltensweisen berücksichtigen, damit Sie zwischen erwartetem Verhalten und unerwarteten Problemen unterscheiden können.

Aktualisieren auf Service Release 1

Wenn Sie vor der Installation von Service Release 1 (SR1) Dateigruppen in Visual Studio Team System Database Edition definiert haben, dann haben Sie diese als Schemaobjekte definiert. Sie haben auch die dazugehörigen Dateien in der Datei storage.sql definiert, die ein Teil des Skripts nach der Bereitstellung ist. Nachdem Sie SR1 installiert haben, definieren Sie Dateigruppen und Dateien als Eigenschaften des Datenbankprojekts. Wenn Sie SR1 zum Öffnen eines Datenbankprojekts mit Dateien oder Dateigruppen verwenden, die vor SR1 erstellt wurden, werden die Datei- und Dateigruppendefinitionen von Schemaobjekten in Projekteigenschaften konvertiert. Außerdem werden die entsprechenden Abschnitte in der Datei storage.sql in Kommentare konvertiert. Die Konvertierung hat jedoch keine Auswirkungen auf andere Anweisungen in der Datei storage.sql oder auf Dateigruppen- und Dateidefinitionen in anderen Skripts.

Importieren von Schemas

Mit dem Import eines Schemas aus einer vorhandenen Datenbank importieren Sie auch die Dateigruppen- und Dateidefinitionen der Datenbank. Wenn in der Datenbank, aus der Sie das Schema importiert haben, zusätzliche Dateigruppen definiert waren, wird eine Warnung wie die folgende angezeigt:

Warnung: Mit den generierten ADD FILEGROUP-Anweisungen wurde für jede Dateigruppe jeweils eine Datei erstellt. Überprüfen Sie den Dateinamen und den Pfad der Dateien auf Konsistenz mit den anderen Dateien auf dem Server.

Vergleichen von Schemas

Durch den Vergleich von Schemas können Sie bestimmen, ob Objekte mit identischen Namen in Dateigruppen mit unterschiedlichen Namen erstellt wurden. Außerdem können Sie bestimmen, ob eine Dateigruppe zur Quelle, aber nicht zum Ziel hinzugefügt wurde bzw. aus der Quelle, aber nicht aus dem Ziel entfernt wurde. Sie haben jedoch nicht die Möglichkeit, zu bestimmen, ob Dateigruppen dieselben Dateien enthalten, da die Dateigruppen immer identisch erscheinen. Weitere Informationen über den Schemavergleich finden Sie unter Gewusst wie: Vergleichen der Schemas von zwei Datenbanken.

Erstellen und Bereitstellen von Datenbankprojekten

Sie können nicht angeben, dass Dateien und Dateigruppen spezifisch für bestimmte Buildkonfigurationen sind. Sie haben aber die Möglichkeit, Dateien in Form von MSBuild-Variablen zu definieren, die spezifisch für eine Konfiguration sein können. Mit diesem Ansatz können Sie z. B. Pfade und Dateinamen in Ihrer isolierten Entwicklungsumgebung verwenden, die sich von denen auf Ihrem Stagingserver unterscheiden.

Löschen von Dateigruppen, Dateien und Protokolldateien

Wenn Sie eine Dateigruppe aus einem Datenbankprojekt löschen, können Sie diese Änderung in einer neuen Datenbank bereitstellen. Bei der Bereitstellung in einer vorhandenen Datenbank wird die Änderung hingegen ignoriert. Mit dem Löschen einer Dateigruppe aus einem Datenbankprojekt löschen Sie auch alle Dateien, die dieser Dateigruppe zugeordnet waren. Alle Objekte im Datenbankprojekt, die sich in der von Ihnen gelöschten Dateigruppe befanden, werden mit einem Fehlerstatus angezeigt. Zum Beheben der Fehler müssen Sie entweder die Dateigruppe neu erstellen oder die Definitionen dieser Objekte so ändern, dass sie einer anderen Dateigruppe zugeordnet werden. Unter diesen Umständen können Sie das Datenbankprojekt erst bereitstellen, wenn Sie die Fehler beheben.

Sie können die primäre Dateigruppe nicht löschen. Es muss immer eine Standarddateigruppe angegeben werden. Wenn Sie die einzige Datei in einer Dateigruppe entfernen, wird in einer Warnung im Fenster Fehlerliste angegeben, dass die Definition der Dateigruppe unvollständig ist. Außerdem können Sie nicht die einzige Protokolldatei in einem Datenbankprojekt entfernen. In einem Datenbankprojekt muss immer mindestens eine Protokolldatei definiert sein.

Einschränkungen

Wenn Sie geänderte Dateigruppen bereitstellen, Dateigruppen umbenennen und Datenbankobjekte für schreibgeschützte Dateigruppen definieren, stoßen Sie möglicherweise auf folgende Einschränkungen.

Bereitstellen von Änderungen

Wenn Sie eine Dateigruppe zu einem Datenbankprojekt hinzufügen, können Sie diese Änderung in einer neuen oder vorhandenen Datenbank bereitstellen. Wenn Sie eine Dateigruppe löschen oder ihre Dateien oder Eigenschaften ändern, können Sie diese Änderungen in einer neuen Datenbank bereitstellen. Lösch- und Änderungsvorgänge für Dateigruppen werden jedoch ignoriert, wenn Sie das Projekt in einer vorhandenen Datenbank bereitstellen. Wenn der Name einer Dateigruppe im Datenbankprojekt dem Namen einer Dateigruppe auf dem Ziel entspricht, wird davon ausgegangen, dass die Dateigruppen gleich sind.

Wenn Sie eine Dateigruppe umbenennen und sie dann in einer vorhandenen Datenbank bereitstellen, wird eine Dateigruppe mit dem neuen Namen erstellt. Die vorhandene Dateigruppe bleibt unverändert.

Umbenennen von Dateigruppen in Objektdefinitionen

Sie können nicht die Umgestaltung verwenden, um Namen von Dateigruppen in Definitionen von Datenbankobjekten zu aktualisieren. Sie müssen diese Namen manuell oder mithilfe des Suchfeatures aktualisieren. Weitere Informationen finden Sie unter Fenster "Suchen und Ersetzen".

Definieren von Objekten in schreibgeschützten Dateigruppen

Auch wenn Sie das Kontrollkästchen Schreibgeschützt für eine Dateigruppe aktivieren, können Sie weiterhin Objekte für diese Dateigruppe im Datenbankprojekt definieren. Wenn Sie versuchen, diese Änderungen in einer vorhandenen Datenbank bereitzustellen, schlägt der Vorgang mit einem Fehler fehl. Stellen Sie diese Änderungen in einer neuen Datenbank bereit, werden diese Objekte erstellt, als ob das Kontrollkästchen Schreibgeschützt deaktiviert wäre. Nachdem die Objekte erstellt worden sind, wird die Dateigruppe in der Datenbank als schreibgeschützt festgelegt.

Siehe auch

Aufgaben

Gewusst wie: Angeben von Skripts vor der Bereitstellung und Skripts nach der Bereitstellung

Gewusst wie: Hinzufügen von Dateien und Dateigruppen

Konzepte

Übersicht über Datenbankprojekteinstellungen

Übersicht über die Terminologie der Database Edition