Aufrufen von Methoden

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

Methoden führen bestimmte Aufgaben im Zusammenhang mit dem Objekt aus, z. B. das Ausstellen eines Prüfpunkts für eine Datenbank oder das Anfordern einer aufgezählten Liste von 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 Handling SMO Exceptions.

Beispiele

Zum Verwenden eines angegebenen Codebeispiels müssen Sie die Programmierumgebung, Programmiervorlage und die zu verwendende Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter 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 FillFactorangibt.

Dim srv As Server  
srv = New Server  
Dim tb As Table  
tb = srv.Databases("AdventureWorks2022").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 FillFactorangibt.

{   
Server srv = default(Server);   
srv = new Server();   
Table tb = default(Table);   
tb = srv.Databases("AdventureWorks2022").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, das eine weitere Navigation erfordert, um auf alle verfügbaren Sortierungsinformationen zur 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. Das DataTable -Objekt erfordert eine weitere Navigation, um auf alle verfügbaren Sortierungsinformationen über die 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 im Beispiel verwendeten Database-Objektkonstruktors akzeptiert zwei Parameter: das übergeordnete Server-Objekt, zu dem die Datenbank gehö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 im Beispiel verwendeten Database-Objektkonstruktors akzeptiert zwei Parameter: das übergeordnete Server-Objekt, zu dem die Datenbank gehört, und eine Zeichenfolge, die den Namen der neuen Datenbank darstellt.

{   
Server srv;   
srv = new Server();   
Table tb;   
tb = srv.Databases("AdventureWorks2022").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 = "AdventureWorks2022"
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 = "AdventureWorks2022";   
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

Sie können die aktuellen Statustypinformationen zur Instanz von SQL Server ü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#

Sie können die aktuellen Statustypinformationen zur Instanz von SQL Server ü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);   
  }   
}   
}   

Weitere Informationen

Server
ServerConnection