ALTER DATABASE-Optionen Datei und Dateigruppe (Transact-SQL)

Ändert die zu der Datenbank gehörenden Dateien und Dateigruppen. Fügt einer Datenbank Dateien und Dateigruppen hinzu oder entfernt sie, ändert die Attribute einer Datenbank oder ihrer Dateien und Dateigruppen. Weitere ALTER DATABASE-Optionen finden Sie unter ALTER DATABASE (Transact-SQL).

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER DATABASE database_name 
{
    <add_or_modify_files>
  | <add_or_modify_filegroups>
}
[;]

<add_or_modify_files>::=
{
    ADD FILE <filespec> [ ,...n ] 
        [ TO FILEGROUP { filegroup_name } ]
  | ADD LOG FILE <filespec> [ ,...n ] 
  | REMOVE FILE logical_file_name 
  | MODIFY FILE <filespec>
}

<filespec>::= 
(
    NAME = logical_file_name  
    [ , NEWNAME = new_logical_name ] 
    [ , FILENAME = {'os_file_name' | 'filestream_path' } ] 
    [ , SIZE = size [ KB | MB | GB | TB ] ] 
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % ] ] 
    [ , OFFLINE ]
) 

<add_or_modify_filegroups>::=
{
    | ADD FILEGROUP filegroup_name 
        [ CONTAINS FILESTREAM ]
    | REMOVE FILEGROUP filegroup_name 
    | MODIFY FILEGROUP filegroup_name
        { <filegroup_updatability_option> 
        | DEFAULT
        | NAME = new_filegroup_name 
        }
}
<filegroup_updatability_option>::=
{
    { READONLY | READWRITE } 
    | { READ_ONLY | READ_WRITE }
}

Argumente

<add_or_modify_files>::=

Gibt die Datei an, die hinzugefügt, entfernt oder geändert werden soll.

  • database_name
    Der Name der Datenbank, die geändert werden soll.

  • ADD FILE
    Fügt einer Datenbank eine Datei hinzu.

    • TO FILEGROUP { filegroup_name }
      Gibt die Dateigruppe an, der die angegebene Datei hinzugefügt werden soll. Verwenden Sie die sys.filegroups-Katalogsicht, um die aktuellen Dateigruppen und die aktuelle Standarddateigruppe anzuzeigen.
  • ADD LOG FILE
    Fügt eine Protokolldatei hinzu, die der angegebenen Datenbank hinzufügt werden soll.

  • REMOVE FILE logical_file_name
    Entfernt die logische Dateibeschreibung aus einer Instanz von SQL Server und löscht die physische Datei. Die Datei kann nur entfernt werden, wenn sie leer ist.

    • logical_file_name
      Der logische Dateiname, der in SQL Server beim Verweis auf die Datei verwendet wird.
  • MODIFY FILE
    Gibt die Datei an, die geändert werden soll. Es kann jeweils nur eine <filespec>-Eigenschaft geändert werden. NAME muss zur Identifikation der Datei, die geändert werden soll, stets in <filespec> angegeben sein. Wenn SIZE angegeben ist, muss die neue Größe die aktuelle Dateigröße übersteigen.

    Geben Sie in der NAME-Klausel den logischen Namen der Datei an, die umbenannt werden soll, und geben Sie in der NEWNAME-Klausel den neuen logischen Namen für die Datei an, um den logischen Namen einer Daten- oder Protokolldatei zu ändern. Beispiel:

    MODIFY FILE ( NAME = logical_file_name, NEWNAME = new_logical_name ) 
    

    Geben Sie den aktuellen logischen Dateinamen in der NAME-Klausel an, und geben Sie den neuen Pfad und den Betriebssystem-Dateinamen in der FILENAME-Klausel an, um eine Datendatei oder Protokolldatei an einen neuen Speicherort zu verschieben. Beispiel:

    MODIFY FILE ( NAME = logical_file_name, FILENAME = ' new_path/os_file_name ' )
    

    Wenn Sie einen Volltextkatalog verschieben, geben Sie nur den neuen Pfad in der FILENAME-Klausel an. Geben Sie nicht den Betriebssystem-Dateinamen an.

    Weitere Informationen finden Sie unter Verschieben von Datenbankdateien.

    Bei einer FILESTREAM-Dateigruppe kann NAME online geändert werden. FILENAME kann online geändert werden; die Änderung wird jedoch erst wirksam, nachdem der Container physisch verschoben und der Server heruntergefahren und dann neu gestartet wurde.

    Sie können eine FILESTREAM-Datei auf OFFLINE festlegen. Ist eine FILESTREAM-Datei offline, wird ihre übergeordnete Dateigruppe intern als offline markiert; daher schlägt jeder Zugriff auf FILESTREAM-Daten in der Dateigruppe fehl.

<filespec>::=

Steuert die Dateieigenschaften.

  • NAME logical_file_name
    Gibt den logischen Namen für die Datei an.

    • logical_file_name
      Der logische Dateiname, der in einer Instanz von SQL Server beim Verweis auf die Datei verwendet wird.
  • NEWNAME new_logical_file_name
    Gibt einen neuen logischen Namen für die Datei an.

    • new_logical_file_name
      Der Name, der den vorhandenen logischen Dateinamen ersetzen soll. Der Name muss in der Datenbank eindeutig sein und den Regeln für Bezeichner entsprechen. Der Name kann eine Zeichen- oder Unicodekonstante, ein regulärer Bezeichner oder ein begrenzter Bezeichner sein. Weitere Informationen finden Sie unter Verwenden von Bezeichnern als Objektnamen.
  • FILENAME { 'os_file_name' | 'filestream_path' }
    Gibt einen Betriebssystem-Dateinamen (physischer Dateiname) an.

    • ' os_file_name '
      Bei einer Standarddateigruppe (ROWS) ist dies der Pfad und der Dateiname, die vom Betriebssystem beim Erstellen der Datei verwendet werden. Die Datei muss sich auf dem Server befinden, auf dem SQL Server installiert ist. Der angegebene Pfad muss vorhanden sein, bevor die ALTER DATABASE-Anweisung ausgeführt wird.

      Die Parameter SIZE, MAXSIZE und FILEGROWTH können nicht festgelegt werden, wenn für die Datei ein UNC-Pfad angegeben ist.

      Datendateien sollten nicht in komprimierten Dateisystemen abgelegt werden, es sei denn, es handelt es sich bei den Dateien um schreibgeschützte sekundäre Dateien, oder die Datenbank ist schreibgeschützt. Protokolldateien sollten niemals in komprimierten Dateisystemen abgelegt werden. Weitere Informationen finden Sie unter Schreibgeschützte Dateigruppen und Komprimierung.

      Wenn sich die Datei auf einer Rawpartition befindet, darf os_file_name nur den Laufwerkbuchstaben einer vorhandenen Rawpartition angeben. Auf jeder Rawpartition kann nur eine Datei abgelegt werden.

    • 'filestream_path'
      Für eine FILESTREAM-Dateigruppe verweist FILENAME auf einen Pfad, wo FILESTREAM-Daten gespeichert werden. Der Pfad muss bis zum letzten Ordner vorhanden sein, und der letzte Ordner darf nicht vorhanden sein. Wenn Sie z. B. den Pfad C:\MyFiles\MyFilestreamData angeben, muss C:\MyFiles vor der Ausführung von ALTER DATABASE vorhanden sein, der Ordner MyFilestreamData muss jedoch noch nicht existieren.

      Die Dateigruppe und die Datei (<filespec>) müssen in derselben Anweisung erstellt werden. Für eine FILESTREAM-Dateigruppe kann es nur eine Datei <filespec>, geben.

      Die Eigenschaften SIZE, MAXSIZE und FILEGROWTH gelten nicht für eine FILESTREAM-Dateigruppe.

  • SIZE size
    Gibt die Dateigröße an. SIZE gilt nicht für FILESTREAM-Dateigruppen.

    • size
      Die Größe der Datei.

      In Verbindung mit ADD FILE ist size die Anfangsgröße für die Datei. In Verbindung mit MODIFY FILE ist size die neue Größe für die Datei und muss größer als die aktuelle Dateigröße sein.

      Wenn size für die primäre Datei nicht angegeben wird, verwendet SQL Server die Größe der primären Datei in der model-Datenbank. Wenn eine sekundäre oder Protokolldatei angegeben wird, size jedoch nicht für die Datei angegeben wird, legt Database Engine (Datenbankmodul) die Größe der Datei auf 1 MB fest.

      Die Suffixe KB, MB, GB und TB können verwendet werden, um Kilobyte, Megabyte, Gigabyte oder Terabyte als Einheit anzugeben. Die Standardeinheit ist MB. Geben Sie eine ganze Zahl (also ohne Dezimalstellen) an. Um einen Bruchteil eines Megabyte anzugeben, konvertieren Sie den Wert in Kilobyte, indem Sie die Zahl mit 1024 multiplizieren. Geben Sie z. B. 1536 KB statt 1,5 MB (1,5 x 1024 = 1536) an.

  • MAXSIZE { max_size| UNLIMITED }
    Gibt die maximale Größe an, auf die die Datei vergrößert werden kann. MAXSIZE gilt nicht für FILESTREAM-Dateigruppen.

    • max_size
      Die maximale Dateigröße. Die Suffixe KB, MB, GB und TB können verwendet werden, um Kilobyte, Megabyte, Gigabyte oder Terabyte als Einheit anzugeben. Die Standardeinheit ist MB. Geben Sie eine ganze Zahl (also ohne Dezimalstellen) an. Wenn max_size nicht angegeben ist, kann die Datei so lange vergrößert werden, bis der Speicherplatz auf dem Datenträger erschöpft ist.

    • UNLIMITED
      Gibt an, dass die Datei vergrößert wird, bis der Datenträger voll ist. In SQL Server gilt für eine Protokolldatei, für die keine Größenbeschränkung festgelegt ist, eine Maximalgröße von 2 TB und für eine Datendatei eine Maximalgröße von 16 TB.

  • FILEGROWTH growth_increment
    Gibt das automatische Dateivergrößerungs-Inkrement an. Die FILEGROWTH-Einstellung für eine Datei darf die MAXSIZE-Einstellung nicht überschreiten. FILEGROWTH gilt nicht für FILESTREAM-Dateigruppen.

    • growth_increment
      Die Menge an Speicherplatz, die der Datei hinzugefügt wird, wenn neuer Speicherplatz erforderlich wird.

      Der Wert kann in MB, KB, GB, TB oder Prozent (%) angegeben werden. Bei Zahlen ohne Angabe von MB, KB oder % wird standardmäßig MB verwendet. Wenn der Wert in Prozent angegeben wird, ist die growth_increment-Größe der angegebene Prozentsatz der Dateigröße zum Zeitpunkt der Vergrößerung. Die angegebene Größe wird auf den nächsten durch 64 KB teilbaren Wert gerundet.

      Der Wert 0 gibt an, dass die automatische Vergrößerung deaktiviert und kein zusätzlicher Speicherplatz zugelassen ist.

      Wurde FILEGROWTH nicht angegeben, ist der Standardwert gleich 1 MB für Datendateien und 10 Prozent für Protokolldateien. Der Minimalwert beträgt 64 KB.

      HinweisHinweis

      Ab SQL Server 2005 wurde der Standardwert für das Vergrößerungsinkrement von 10 Prozent in 1 MB geändert. Das Standardinkrement für Protokolldateien liegt unverändert bei 10 %.

  • OFFLINE
    Legt die Datei auf offline fest und sperrt den Zugriff auf alle Objekte in der Dateigruppe.

    VorsichtshinweisVorsicht

    Diese Option sollte nur verwendet werden, wenn die Datei beschädigt ist und wiederhergestellt werden kann. Eine Datei, für die OFFLINE festgelegt ist, kann nur wieder online geschaltet werden, indem sie aus der Sicherung wiederhergestellt wird. Weitere Informationen zum Wiederherstellen einer einzelnen Datei finden Sie unter RESTORE (Transact-SQL).

<add_or_modify_filegroups>::=

Hinzufügen, Ändern oder Entfernen einer Dateigruppe aus der Datenbank.

  • ADD FILEGROUP filegroup_name
    Fügt der Datenbank eine Dateigruppe hinzu.

  • CONTAINS FILESTREAM
    Gibt an, dass die Dateigruppe FILESTREAM-BLOBs (Binary Large Objects) im Dateisystem speichert.

  • REMOVE FILEGROUP filegroup_name
    Entfernt eine Dateigruppe aus der Datenbank. Die Dateigruppe kann nur entfernt werden, wenn sie leer ist. Entfernen Sie zuerst alle Dateien aus der Dateigruppe. Weitere Informationen finden Sie unter "REMOVE FILE logical_file_name" weiter oben in diesem Thema.

  • MODIFY FILEGROUP filegroup_name { <filegroup_updatability_option> | DEFAULT | NAME **=**new_filegroup_name }
    Ändert die Dateigruppe durch Festlegen des Status auf READ_ONLY oder READ_WRITE, Festlegen der Dateigruppe als Standarddateigruppe für die Datenbank oder Ändern des Dateigruppennamens.

    • <filegroup_updatability_option>
      Legt die read-only- oder read/write-Eigenschaft für die Dateigruppe fest.

    • DEFAULT
      Ändert die Standarddatenbank-Dateigruppe in filegroup_name. Es können nicht mehrere Dateigruppen gleichzeitig als Standarddateigruppe verwendet werden. Weitere Informationen finden Sie unter Grundlegendes zu Dateien und Dateigruppen.

    • NAME = new_filegroup_name
      Ändert den Namen der Dateigruppe in new_filegroup_name.

<filegroup_updatability_option>::=

Legt die read-only- oder read/write-Eigenschaft für die Dateigruppe fest.

  • READ_ONLY | READONLY
    Gibt an, dass die Dateigruppe schreibgeschützt ist. Aktualisierungen von Objekten in der Dateigruppe sind nicht zulässig. Die primäre Dateigruppe kann nicht schreibgeschützt werden. Sie müssen über exklusiven Zugriff auf die Datenbank verfügen, um diesen Status zu ändern. Weitere Informationen finden Sie unter der SINGLE_USER-Klausel.

    Da in einer schreibgeschützten Datenbank keine Datenänderungen vorgenommen werden dürfen, gilt Folgendes:

    • Die automatische Wiederherstellung wird beim Systemstart ausgelassen.

    • Das Verkleinern der Datenbank ist nicht möglich.

    • In schreibgeschützten Datenbanken werden keine Daten gesperrt. Dies kann zu einer schnelleren Ausführung von Abfragen führen.

    HinweisHinweis

    Das Schlüsselwort READONLY wird in zukünftigen Versionen von MicrosoftSQL Server nicht mehr bereitgestellt. Vermeiden Sie die Verwendung von READONLY bei neuen Entwicklungen, und planen Sie die Änderung von Anwendungen, in denen READONLY aktuell verwendet wird. Verwenden Sie stattdessen READ_ONLY.

  • READ_WRITE | READWRITE
    Gibt an, dass die Gruppe den Status READ_WRITE hat. Aktualisierungen sind für die Objekte in der Dateigruppe möglich. Sie müssen über exklusiven Zugriff auf die Datenbank verfügen, um diesen Status zu ändern. Weitere Informationen finden Sie unter der SINGLE_USER-Klausel.

    HinweisHinweis

    Das Schlüsselwort READWRITE wird in zukünftigen Versionen von MicrosoftSQL Server nicht mehr bereitgestellt. Vermeiden Sie die Verwendung von READWRITE bei neuen Entwicklungen, und planen Sie die Änderung von Anwendungen, in denen READWRITE aktuell verwendet wird. Verwenden Sie stattdessen READ_WRITE.

Der Status dieser Optionen kann mithilfe der Spalte is_read_only in der sys.databases-Katalogsicht oder der Updateability-Eigenschaft der DATABASEPROPERTYEX-Funktion ermittelt werden.

Hinweise

Verwenden Sie DBCC SHRINKDATABASE, um die Größe einer Datenbank zu reduzieren.

Sie können keine Dateien hinzufügen oder entfernen, während eine BACKUP-Anweisung ausgeführt wird.

Für jede Datenbank können maximal 32.767 Dateien und 32.767 Dateigruppen angegeben werden.

In SQL Server 2005 oder einer höheren Version wird der Status einer Datenbankdatei (z. B. online oder offline) unabhängig vom Status der Datenbank verwaltet. Weitere Informationen finden Sie unter Dateistatus. Der Status der Dateien in einer Dateigruppe bestimmt die Verfügbarkeit der gesamten Dateigruppe. Damit eine Dateigruppe verfügbar ist, müssen alle Dateien in der Dateigruppe online sein. Ist eine Dateigruppe offline, verursacht jeder Versuch, über eine SQL-Anweisung auf die Dateigruppe zuzugreifen, einen Fehler. Wenn Sie Abfragepläne für SELECT-Anweisungen erstellen, vermeidet der Abfrageoptimierer nicht gruppierte Indizes und indizierte Sichten, die sich in Offlinedateigruppen befinden. Dadurch wird ein erfolgreiches Ausführen der Anweisungen ermöglicht. Enthält die Offlinedateigruppe jedoch den Heap oder gruppierten Index der Zieltabelle, schlagen die SELECT-Anweisungen fehl. Außerdem schlägt jede INSERT-, UPDATE- oder DELETE-Anweisung fehl, die eine Tabelle mit einem Index in einer Offlinedateigruppe ändert.

Verschieben von Dateien

In SQL Server 2005 oder höher können Sie System- oder benutzerdefinierte Daten und Protokolldateien verschieben, indem Sie in FILENAME den neuen Speicherort angeben. Dies kann in den folgenden Szenarien nützlich sein:

  • Wiederherstellung nach einem Fehler. Beispiel: Die Datenbank befindet sich im verdächtigen Modus oder wurde wegen eines Hardwarefehlers heruntergefahren.

  • Eine geplante Verschiebung.

  • Verschiebung wegen einer geplanten Datenträgerwartung.

Weitere Informationen finden Sie unter Verschieben von Datenbankdateien.

Initialisieren von Dateien

Standardmäßig werden Daten- und Protokolldateien durch Ausfüllen der Dateien mit Nullen initialisiert, wenn Sie eine der folgenden Operationen ausführen:

  • Erstellen einer Datenbank.

  • Hinzufügen von Dateien zu einer bestehenden Datenbank.

  • Erhöhen der Größe einer vorhandenen Datei.

  • Wiederherstellen einer Datenbank oder Dateigruppe.

Datendateien können sofort initialisiert werden. Dies ermöglicht ein schnelles Ausführen der entsprechenden Dateioperationen. Weitere Informationen finden Sie unter Datenbankdatei-Initialisierung.

Beispiele

A. Hinzufügen einer Datei zu einer Datenbank

Im folgenden Beispiel wird der AdventureWorks-Datenbank eine 5-MB-Datendatei hinzugefügt.

USE master;
GO
ALTER DATABASE AdventureWorks 
ADD FILE 
(
    NAME = Test1dat2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\t1dat2.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB

);
GO

B. Hinzufügen einer Dateigruppe mit zwei Dateien zu einer Datenbank

Im folgenden Beispiel wird die Dateigruppe Test1FG1 in der AdventureWorks-Datenbank erstellt, und der Dateigruppe werden zwei 5-MB-Dateien hinzugefügt.

USE master
GO
ALTER DATABASE AdventureWorks
ADD FILEGROUP Test1FG1;
GO

ALTER DATABASE AdventureWorks 
ADD FILE 
(
    NAME = test1dat3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\t1dat3.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1dat4,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\t1dat4.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
)
TO FILEGROUP Test1FG1;
GO

C. Hinzufügen von zwei Protokolldateien zu einer Datenbank

Im folgenden Beispiel werden der AdventureWorks-Datenbank zwei 5-MB-Protokolldateien hinzugefügt.

USE master;
GO
ALTER DATABASE AdventureWorks 
ADD LOG FILE 
(
    NAME = test1log2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test2log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1log3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test3log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
);
GO

D. Entfernen einer Datei aus einer Datenbank

Im folgenden Beispiel wird eine der in Beispiel B hinzugefügten Dateien entfernt.

USE master;
GO
ALTER DATABASE AdventureWorks
REMOVE FILE test1dat4;
GO

E. Ändern einer Datei

Im folgenden Beispiel wird die Größe einer der in Beispiel B hinzugefügten Dateien reduziert.

USE master;
GO
ALTER DATABASE AdventureWorks 
MODIFY FILE
    (NAME = test1dat3,
    SIZE = 20MB);
GO

F. Verschieben einer Datei an einen neuen Speicherort

Im folgenden Beispiel wird die in Beispiel A erstellte Datei Test1dat2 in ein neues Verzeichnis verschoben.

HinweisHinweis

Sie müssen die Datei physisch in das neue Verzeichnis verschieben, bevor Sie dieses Beispiel ausführen. Halten Sie anschließend die Instanz von SQL Server an, und starten Sie diese neu, oder schalten Sie die AdventureWorks-Datenbank OFFLINE und wieder ONLINE, um die Änderung zu implementieren.

USE master;
GO
ALTER DATABASE AdventureWorks
MODIFY FILE
(
    NAME = Test1dat2,
    FILENAME = N'c:\t1dat2.ndf'
);
GO

G. Verschieben von tempdb an einen neuen Speicherort

Im folgenden Beispiel wird tempdb vom aktuellen Speicherort auf dem Datenträger an einen anderen Speicherort verschoben. Da tempdb jedes Mal beim Starten des MSSQLSERVER-Dienstes neu erstellt wird, müssen Sie die Daten- und Protokolldateien nicht physisch verschieben. Die Dateien werden erstellt, sobald der Dienst in Schritt 3 neu gestartet wird. Bis der Dienst neu gestartet wird, arbeitet tempdb an dem bisherigen Speicherort weiter.

  1. Ermitteln Sie die logischen Dateinamen der tempdb-Datenbank und ihren aktuellen Speicherort auf dem Datenträger.

    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    GO
    
  2. Ändern Sie den Speicherort der einzelnen Dateien mithilfe von ALTER DATABASE.

    USE master;
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE  tempdb 
    MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
    GO
    
  3. Halten Sie die Instanz von SQL Server an, und starten Sie sie erneut.

  4. Überprüfen Sie die Dateiänderung.

    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    
  5. Löschen Sie die Dateien tempdb.mdf und templog.ldf von deren ursprünglichen Speicherorten.

H. Festlegen einer Dateigruppe als Standarddateigruppe

Im folgenden Beispiel wird die in Beispiel B erstellte Test1FG1 -Dateigruppe als Standarddateigruppe festgelegt. Die Standarddateigruppe wird dann auf die PRIMARY-Dateigruppe zurückgesetzt. PRIMARY muss durch eckige Klammern oder Anführungszeichen begrenzt werden.

USE master;
GO
ALTER DATABASE AdventureWorks 
MODIFY FILEGROUP Test1FG1 DEFAULT;
GO
ALTER DATABASE AdventureWorks 
MODIFY FILEGROUP [PRIMARY] DEFAULT;
GO

I. Hinzufügen einer Dateigruppe mit ALTER DATABASE

Im folgenden Beispiel wird eine FILEGROUP, die die FILESTREAM-Klausel enthält, der FileStreamPhotoDB-Datenbank hinzugefügt.

--Create and add a FILEGROUP that CONTAINS the FILESTREAM clause to
--the FileStreamPhotoDB database.
ALTER database FileStreamPhotoDB
ADD FILEGROUP TodaysPhotoShoot
CONTAINS FILESTREAM
GO

--Add a file for storing database photos to FILEGROUP 
ALTER database FileStreamPhotoDB
ADD FILE
(
    NAME= 'PhotoShoot1',
    FILENAME = 'C:\Users\Administrator\Pictures\TodaysPhotoShoot.ndf'
)
TO FILEGROUP TodaysPhotoShoot
GO