Aufrufen von Methoden
Methoden führen bestimmte Tasks aus, die sich auf das Objekt beziehen, z. B. die Ausgabe eines Checkpoint in einer Datenbank oder die Anforderung einer Aufzählungsliste mit Anmeldungen für die Instanz von Microsoft SQL Server.
Methoden führen Vorgänge an Objekten aus. Methoden können Parameter enthalten, und sie verfügen häufig über einen Rückgabewert. Bei dem Rückgabewert kann es sich um einen einfachen Datentyp, ein komplexes Objekt oder eine Struktur handeln, die mehrere Elemente enthält.
Mithilfe der Ausnahmebehandlung können Sie feststellen, ob die Methode erfolgreich war. Weitere Informationen finden Sie unter Behandeln von SMO-Ausnahmen.
Beispiele
Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Vorgehensweise: Erstellen eines Visual Basic SMO-Projekts in Visual Studio .NET" oder "Vorgehensweise: Erstellen eines Visual C# SMO-Projekts in Visual Studio .NET".
Verwenden einer einfachen SMO-Methode in Visual Basic
In diesem Beispiel enthält die Create-Methode keine Parameter und hat keinen Rückgabewert.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define a Database object variable by supplying the parent server and the database name arguments in the constructor.
Dim db As Database
db = New Database(srv, "Test_SMO_Database")
'Call the Create method to create the database on the instance of SQL Server.
db.Create()
Verwenden einer einfachen SMO-Methode in Visual C#
In diesem Beispiel enthält die Create-Methode keine Parameter und hat keinen Rückgabewert.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Define a Database object variable by supplying the parent server and the database name arguments in the constructor.
Database db;
db = new Database(srv, "Test_SMO_Database");
//Call the Create method to create the database on the instance of SQL Server.
db.Create();
}
Verwenden einer SMO-Methode mit einem Parameter in Visual Basic
Das Table-Objekt verfügt über eine Methode mit dem Namen RebuildIndexes. Diese Methode benötigt einen numerischen Parameter, der FillFactor angibt.
Dim srv As Server
srv = New Server
Dim tb As Table
tb = srv.Databases("AdventureWorks2012").Tables("Employee", "HumanResources")
tb.RebuildIndexes(70)
Verwenden einer SMO-Methode mit einem Parameter in Visual C#
Das Table-Objekt verfügt über eine Methode mit dem Namen RebuildIndexes. Diese Methode benötigt einen numerischen Parameter, der FillFactor angibt.
{
Server srv = default(Server);
srv = new Server();
Table tb = default(Table);
tb = srv.Databases("AdventureWorks2012").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
}
Verwenden einer Enumerationsmethode in Visual Basic, die ein "DataTable"-Objekt zurückgibt
In diesem Abschnitt wird beschrieben, wie eine Enumerationsmethode aufgerufen wird und wie die Daten im zurückgegebenen DataTable-Objekt behandelt werden.
Die EnumCollations-Methode gibt ein DataTable-Objekt zurück, für das weitere Navigation erforderlich ist, auf alle verfügbaren Sortierungsinformationen zu der Instanz von SQL Server zuzugreifen.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
Console.WriteLine("============================================")
For Each c In r.Table.Columns
Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
Next
Next
Verwenden einer Enumerationsmethode in Visual C#, die ein "DataTable"-Objekt zurückgibt
In diesem Abschnitt wird beschrieben, wie eine Enumerationsmethode aufgerufen wird und wie die Daten im zurückgegebenen DataTable-Objekt behandelt werden.
Die EnumCollations-Methode gibt ein DataTable-Systemobjekt zurück. Für das DataTable-Objekt ist weitere Navigation erforderlich, um auf alle verfügbaren Sortierungsinformationen zu der Instanz von SQL Server zuzugreifen.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Call the EnumCollations method and return collation information to DataTable variable.
DataTable d = default(DataTable);
//Select the returned data into an array of DataRow.
d = srv.EnumCollations;
//Iterate through the rows and display collation details for the instance of SQL Server.
DataRow r = default(DataRow);
DataColumn c = default(DataColumn);
foreach ( r in d.Rows) {
Console.WriteLine("=====================================");
foreach ( c in r.Table.Columns) {
Console.WriteLine(c.ColumnName + " = " + r(c).ToString);
}
}
}
Erstellen eines Objekts in Visual Basic
Der Konstruktor eines Objekts kann mit dem New-Operator aufgerufen werden. Der Database-Objektkonstruktor ist überladen und die Version des Database-Objektkonstruktors, der im Beispiel verwendet wird, akzeptiert zwei Parameter: das übergeordnete Server-Objekt, dem die Datenbank angehört, und eine Zeichenfolge, die den Namen der neuen Datenbank darstellt.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Declare and define a Database object by supplying the parent server and the database name arguments in the constructor.
Dim d As Database
d = New Database(srv, "Test_SMO_Database")
'Create the database on the instance of SQL Server.
d.Create()
Console.WriteLine(d.Name)
Erstellen eines Objekts in Visual C#
Der Konstruktor eines Objekts kann mit dem New-Operator aufgerufen werden. Der Database-Objektkonstruktor ist überladen und die Version des Database-Objektkonstruktors, der im Beispiel verwendet wird, akzeptiert zwei Parameter: das übergeordnete Server-Objekt, dem die Datenbank angehört, und eine Zeichenfolge, die den Namen der neuen Datenbank darstellt.
{
Server srv;
srv = new Server();
Table tb;
tb = srv.Databases("AdventureWorks2012").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Declare and define a Database object by supplying the parent server and the database name arguments in the constructor.
Database d;
d = new Database(srv, "Test_SMO_Database");
//Create the database on the instance of SQL Server.
d.Create();
Console.WriteLine(d.Name);
}
Kopieren eines SMO-Objekts in Visual Basic
In diesem Codebeispiel wird die Copy-Methode zum Erstellen einer Kopie des Server-Objekts verwendet. Das Server-Objekt stellt eine Verbindung mit einer Instanz von SQL Server dar.
'Connect to the local, default instance of SQL Server.
Dim srv1 As Server
srv1 = New Server()
'Modify the default database and the timeout period for the connection.
srv1.ConnectionContext.DatabaseName = "AdventureWorks2012"
srv1.ConnectionContext.ConnectTimeout = 30
'Make a second connection using a copy of the ConnectionContext property and verify settings.
Dim srv2 As Server
srv2 = New Server(srv1.ConnectionContext.Copy)
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString)
Kopieren eines SMO-Objekts in Visual C#
In diesem Codebeispiel wird die Copy-Methode zum Erstellen einer Kopie des Server-Objekts verwendet. Das Server-Objekt stellt eine Verbindung mit einer Instanz von SQL Server dar.
{
//Connect to the local, default instance of SQL Server.
Server srv1;
srv1 = new Server();
//Modify the default database and the timeout period for the connection.
srv1.ConnectionContext.DatabaseName = "AdventureWorks2012";
srv1.ConnectionContext.ConnectTimeout = 30;
//Make a second connection using a copy of the ConnectionContext property and verify settings.
Server srv2;
srv2 = new Server(srv1.ConnectionContext.Copy);
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString);
}
Überwachen von Serverprozessen in Visual Basic
Informationen zum aktuellen Statustyp der Instanz von SQL Server können Sie über Enumerationsmethoden abrufen. Im Beispielcode wird die EnumProcesses-Methode zum Ermitteln von Informationen zu den aktuellen Prozessen verwendet. Dieses Beispiel zeigt auch, wie mit den Spalten und Zeilen im zurückgegebenen DataTable-Objekt gearbeitet wird.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumProcesses
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
Console.WriteLine("============================================")
For Each c In r.Table.Columns
Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
Next
Next
Überwachen von Serverprozessen in Visual C#
Informationen zum aktuellen Statustyp der Instanz von SQL Server können Sie über Enumerationsmethoden abrufen. Im Beispielcode wird die EnumProcesses-Methode zum Ermitteln von Informationen zu den aktuellen Prozessen verwendet. Dieses Beispiel zeigt auch, wie mit den Spalten und Zeilen im zurückgegebenen DataTable-Objekt gearbeitet wird.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Call the EnumCollations method and return collation information to DataTable variable.
DataTable d = default(DataTable);
//Select the returned data into an array of DataRow.
d = srv.EnumProcesses;
//Iterate through the rows and display collation details for the instance of SQL Server.
DataRow r = default(DataRow);
DataColumn c = default(DataColumn);
foreach ( r in d.Rows) {
Console.WriteLine("=================================");
foreach ( c in r.Table.Columns) {
Console.WriteLine(c.ColumnName + " = " + r(c).ToString);
}
}
}