Appel de méthodes
Les méthodes effectuent des tâches spécifiques en rapport avec l'objet, telles que l'exécution d'un Checkpoint sur une base de données ou la demande d'une liste énumérée d'ouvertures de session pour l'instance de MicrosoftSQL Server.
Les méthodes effectuent une opération sur un objet. Les méthodes peuvent accepter des paramètres et possèdent souvent une valeur de retour. La valeur de retour peut être un type de données simple, un objet complexe ou une structure qui contient de nombreux membres.
Utilisez la gestion des exceptions pour détecter si la méthode a réussi. Pour plus d'informations, consultez Gestion des exceptions SMO.
Exemples
Pour utiliser un exemple de code fourni, vous devrez sélectionner l'environnement, le modèle et le langage de programmation dans lequel créer votre application. Pour plus d'informations, consultez « Procédure : créer un projet Visual Basic SMO dans Visual Studio .NET » ou « Procédure : créer un projet Visual C# SMO dans Visual Studio .NET » dans la documentation en ligne de SQL Server.
Utilisation d'une méthode SMO simple en Visual Basic
Dans cet exemple, la méthode Create n'accepte aucun paramètre et ne possède aucune valeur de retour.
'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()
Utilisation d'une méthode SMO simple en Visual C#
Dans cet exemple, la méthode Create n'accepte aucun paramètre et ne possède aucune valeur de retour.
{
//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();
}
Utilisation d'une méthode SMO avec un paramètre en Visual Basic
L'objet Table possède une méthode appelée RebuildIndexes. Cette méthode requiert un paramètre numérique qui spécifie le FillFactor.
Dim srv As Server
srv = New Server
Dim tb As Table
tb = srv.Databases("AdventureWorks").Tables("Employee", "HumanResources")
tb.RebuildIndexes(70)
Utilisation d'une méthode SMO avec un paramètre en Visual C#
L'objet Table possède une méthode appelée RebuildIndexes. Cette méthode requiert un paramètre numérique qui spécifie le FillFactor.
{
Server srv = default(Server);
srv = new Server();
Table tb = default(Table);
tb = srv.Databases("AdventureWorks").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
}
Utilisation d'une méthode d'énumération qui retourne un objet DataTable en Visual Basic
Cette section explique comment appeler une méthode d'énumération et comment gérer les données incluses dans l'objet DataTable retourné.
La méthode EnumCollations retourne un objet DataTable, qui requiert une navigation supplémentaire pour accéder à toutes les informations de classement disponibles sur l'instance de SQL Server.
'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
Utilisation d'une méthode d'énumération qui retourne un objet DataTable en Visual C#
Cette section explique comment appeler une méthode d'énumération et comment gérer les données incluses dans l'objet DataTable retourné.
La méthode EnumCollations retourne un objet système DataTable. L'objet DataTable requiert une navigation supplémentaire pour accéder à toutes les informations de classement disponibles sur l'instance de SQL Server.
//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);
}
}
}
Construction d'un objet en Visual Basic
Le constructeur d'un objet quelconque peut être appelé au moyen de l'opérateur New. Le constructeur d'objet Database est surchargé et la version du constructeur d'objet Database utilisée dans l'exemple accepte deux paramètres : l'objet parent Server auquel la base de données appartient et une chaîne qui représente le nom de la nouvelle base de données.
'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)
Construction d'un objet en Visual C#
Le constructeur d'un objet quelconque peut être appelé au moyen de l'opérateur New. Le constructeur d'objet Database est surchargé et la version du constructeur d'objet Database utilisée dans l'exemple accepte deux paramètres : l'objet parent Server auquel la base de données appartient et une chaîne qui représente le nom de la nouvelle base de données.
{
Server srv;
srv = new Server();
Table tb;
tb = srv.Databases("AdventureWorks").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);
}
Copie d'un objet SMO en Visual Basic
Cet exemple de code utilise la méthode Copy pour créer une copie de l'objet Server. L'objet Server représente une connexion à une instance de SQL Server.
'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 = "AdventureWorks"
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)
Copie d'un objet SMO en Visual C#
Cet exemple de code utilise la méthode Copy pour créer une copie de l'objet Server. L'objet Server représente une connexion à une instance de SQL Server.
{
//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 = "AdventureWorks";
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);
}
Surveillance des processus serveur en Visual Basic
Vous pouvez obtenir les informations de type d'état actuelles sur l'instance de SQL Server par le biais des méthodes d'énumération. L'exemple de code utilise la méthode EnumProcesses pour découvrir des informations sur les processus en cours. Il montre également comment utiliser les colonnes et les lignes incluses dans l'objet DataTable retourné.
'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
Surveillance des processus serveur en Visual C#
Vous pouvez obtenir les informations de type d'état actuelles sur l'instance de SQL Server par le biais des méthodes d'énumération. L'exemple de code utilise la méthode EnumProcesses pour découvrir des informations sur les processus en cours. Il montre également comment utiliser les colonnes et les lignes incluses dans l'objet DataTable retourné.
//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);
}
}
}