Freigeben über


Verwenden von Dateigruppen und Dateien zum Speichern von Daten

Datendateien werden zum Speichern von Datenbankdateien verwendet. Die Datendateien sind in Dateigruppen unterteilt. Das Database Objekt verfügt über eine FileGroups Eigenschaft, die auf ein FileGroupCollection Objekt verweist. Jedes FileGroup Objekt in dieser Auflistung verfügt über eine Files Eigenschaft. Diese Eigenschaft bezieht sich auf eine DataFileCollection Auflistung, die alle Datendateien enthält, die zur Datenbank gehören. Eine Dateigruppe wird hauptsächlich verwendet, um Dateien zu gruppieren, die zum Speichern eines Datenbankobjekts verwendet werden. Ein Grund für die Verbreitung eines Datenbankobjekts über mehrere Dateien besteht darin, dass es die Leistung verbessern kann, insbesondere, wenn die Dateien auf verschiedenen Datenträgerlaufwerken gespeichert sind.

Jede datenbank, die erstellt wird, verfügt automatisch über eine Dateigruppe namens "Primär" und eine Datendatei mit demselben Namen wie die Datenbank. Zusätzliche Dateien und Gruppen können den Sammlungen hinzugefügt werden.

Beispiele

Für die folgenden Codebeispiele müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET und Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Hinzufügen von FileGroups und DataFiles zu einer Datenbank in Visual Basic

Die primäre Dateigruppe und Datendatei werden automatisch mit Standardwerten erstellt. Im Codebeispiel werden einige Eigenschaftswerte angegeben, die Sie verwenden können. Andernfalls werden die Standardeigenschaftswerte verwendet.

Hinzufügen von FileGroups und DataFiles zu einer Datenbank in Visual C#

Die primäre Dateigruppe und Datendatei werden automatisch mit Standardwerten erstellt. Im Codebeispiel werden einige Eigenschaftswerte angegeben, die Sie verwenden können. Andernfalls werden die Standardeigenschaftswerte verwendet.

{  
            Server srv = new Server();  
            //Reference the AdventureWorks2012 database.   
            Database db = default(Database);  
            db = srv.Databases["AdventureWorks2012"];  
            //Define a FileGroup object called SECONDARY on the database.   
            FileGroup fg1 = default(FileGroup);  
            fg1 = new FileGroup(db, "SECONDARY");  
            //Call the Create method to create the file group on the instance of SQL Server.   
            fg1.Create();  
            //Define a DataFile object on the file group and set the FileName property.   
            DataFile df1 = default(DataFile);  
            df1 = new DataFile(fg1, "datafile1");  
            df1.FileName = "c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\datafile2.ndf";  
            //Call the Create method to create the data file on the instance of SQL Server.   
            df1.Create();  
        }  

Hinzufügen von FileGroups und DataFiles zu einer Datenbank in PowerShell

Die primäre Dateigruppe und Datendatei werden automatisch mit Standardwerten erstellt. Im Codebeispiel werden einige Eigenschaftswerte angegeben, die Sie verwenden können. Andernfalls werden die Standardeigenschaftswerte verwendet.

# Set the path context to the local, default instance of SQL Server.  
CD \sql\localhost\default\Databases\  
  
#And the database object corresponding to AdventureWorks2012.  
$db = get-item AdventureWorks2012  
  
#Create a new filegroup  
$fg1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "SECONDARY"  
$fg1.Create()  
  
#Define a DataFile object on the file group and set the FileName property.   
$df1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.DataFile -argumentlist $fg1, "datafile1"  
  
#Make sure to have a directory created to hold the designated data file  
$df1.FileName = "c:\\TestData\\datafile2.ndf"  
  
#Call the Create method to create the data file on the instance of SQL Server.   
$df1.Create()  

Erstellen, Ändern und Entfernen einer Protokolldatei in Visual Basic

Das Codebeispiel erstellt ein LogFile Objekt, ändert eine der Eigenschaften und entfernt es dann aus der Datenbank.

Erstellen, Ändern und Entfernen einer Protokolldatei in Visual C#

Das Codebeispiel erstellt ein LogFile Objekt, ändert eine der Eigenschaften und entfernt es dann aus der Datenbank.

//Connect to the local, default instance of SQL Server.   
            Server srv = new Server();  
            //Reference the AdventureWorks2012 database.   
            Database db = default(Database);  
            db = srv.Databases["AdventureWorks2012"];  
            //Define a LogFile object and set the database, name, and file name properties in the constructor.   
            LogFile lf1 = default(LogFile);  
            lf1 = new LogFile(db, "logfile1", "c:\\Program Files\\Microsoft SQL Server\\MSSQL.10_50.MSSQLSERVER\\MSSQL\\Data\\logfile1.ldf");  
            //Set the file growth to 6%.   
            lf1.GrowthType = FileGrowthType.Percent;  
            lf1.Growth = 6;  
            //Run the Create method to create the log file on the instance of SQL Server.   
            lf1.Create();  
            //Alter the growth percentage.
            lf1.Growth = 7;  
            lf1.Alter();  
            //Remove the log file.
            lf1.Drop();

Erstellen, Ändern und Entfernen einer Protokolldatei in PowerShell

Das Codebeispiel erstellt ein LogFile Objekt, ändert eine der Eigenschaften und entfernt es dann aus der Datenbank.

#Load the assembly containing the enums used in this example  
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlEnum")  
  
# Set the path context to the local, default instance of SQL Server.  
CD \sql\localhost\default\Databases\  
  
#And the database object corresponding to AdventureWorks2012  
$db = get-item AdventureWorks2012  
  
#Create a filegroup  
$fg1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "Secondary"  
  
#Call the Create method to create the file group on the instance of SQL Server.   
$fg1.Create()  
  
#Define a LogFile object on the file group and set the FileName property.   
$lf1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.LogFile -argumentlist $db, "LogFile2"  
  
#Set a location for it - make sure the directory exists  
$lf1.FileName = "logfile1", "c:\\Program Files\\Microsoft SQL Server\\MSSQL.10_50.MSSQLSERVER\\MSSQL\\Data\\logfile1.ldf"  
  
#Set file growth to 6%  
$lf1.GrowthType = [Microsoft.SqlServer.Management.Smo.FileGrowthType]::Percent  
$lf1.Growth = 6.0  
  
#Call the Create method to create the data file on the instance of SQL Server.   
$lf1.Create()  
  
#Alter a value and drop the log file  
$lf1.Growth = 7.0  
$lf1.Alter()  
$lf1.Drop()

Siehe auch

FileGroup
Datenbankdateien und Dateigruppen