Chamando métodos
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Banco de Dados SQL no Microsoft Fabric
Os métodos executam tarefas específicas relacionadas ao objeto, como emitir um ponto de verificação em um banco de dados ou solicitar uma lista enumerada de logons para a instância do Microsoft SQL Server.
Os métodos executam uma operação em um objeto. Podem assumir parâmetros e frequentemente têm um valor de retorno. O valor de retorno pode ser um tipo de dados simples, um objeto complexo ou uma estrutura que contém muitos membros.
Use o tratamento de exceções para detectar se o método obteve êxito. Para obter mais informações, consulte Handling SMO Exceptions.
Exemplos
Para usar qualquer exemplo de código fornecido, será necessário escolher o ambiente de programação, o modelo de programação e a linguagem de programação para criar o aplicativo. Para obter mais informações, consulte Criar um projeto SMO do Visual C# no Visual Studio .NET.
Usando um método SMO simples no Visual Basic
Neste exemplo, o método Create não utiliza nenhum parâmetro e não tem nenhum valor de retorno.
'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()
Usando um método SMO simples no Visual C#
Neste exemplo, o método Create não utiliza nenhum parâmetro e não tem nenhum valor de retorno.
{
//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();
}
Usando um método SMO com um parâmetro no Visual Basic
O objeto Table tem um método chamado RebuildIndexes. Esse método exige um parâmetro numérico que especifica o FillFactor.
Dim srv As Server
srv = New Server
Dim tb As Table
tb = srv.Databases("AdventureWorks2022").Tables("Employee", "HumanResources")
tb.RebuildIndexes(70)
Usando um método SMO com um parâmetro no Visual C#
O objeto Table tem um método chamado RebuildIndexes. Esse método exige um parâmetro numérico que especifica o FillFactor
.
{
Server srv = default(Server);
srv = new Server();
Table tb = default(Table);
tb = srv.Databases("AdventureWorks2022").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
}
Usando um método de enumeração que retorna um objeto DataTable no Visual Basic
Esta seção descreve como chamar um método de enumeração e tratar os dados no objeto DataTable retornado.
O EnumCollations método retorna um DataTable objeto, que requer navegação adicional para acessar todas as informações de agrupamento disponíveis sobre a instância do 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
Usando um método de enumeração que retorna um objeto DataTable no Visual C#
Esta seção descreve como chamar um método de enumeração e tratar os dados no objeto DataTable retornado.
O método EnumCollations retorna um objeto DataTable de sistema. O DataTable objeto requer navegação adicional para acessar todas as informações de agrupamento disponíveis sobre a instância do 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);
}
}
}
Construindo um objeto no Visual Basic
O construtor de qualquer objeto pode ser chamado usando o operador New . O construtor do objeto Database é sobrecarregado e a versão do construtor do objeto Database que é usada no exemplo utiliza dois parâmetros: o objeto Server pai ao qual o banco de dados pertence e uma cadeia de caracteres que representa o nome do novo banco de dados.
'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)
Construindo um objeto no Visual C#
O construtor de qualquer objeto pode ser chamado usando o operador New . O construtor do objeto Database é sobrecarregado e a versão do construtor do objeto Database que é usada no exemplo utiliza dois parâmetros: o objeto Server pai ao qual o banco de dados pertence e uma cadeia de caracteres que representa o nome do novo banco de dados.
{
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);
}
Copiando um objeto SMO no Visual Basic
Este exemplo de código usa o método Copy para criar uma cópia do objeto Server. O Server objeto representa uma conexão com uma instância do 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 = "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)
Copiando um objeto SMO no Visual C#
Este exemplo de código usa o método Copy para criar uma cópia do objeto Server. O Server objeto representa uma conexão com uma instância do 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 = "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);
}
Monitorando processos de servidor no Visual Basic
Você pode obter as informações de tipo de status atual sobre a instância do SQL Server por meio de métodos de enumeração. O exemplo de código usa o método EnumProcesses para descobrir informações sobre os processos atuais. Ele também demonstra como trabalhar com as colunas e linhas no objeto DataTable retornado.
'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
Monitorando processos de servidor no Visual C#
Você pode obter as informações de tipo de status atual sobre a instância do SQL Server por meio de métodos de enumeração. O exemplo de código usa o método EnumProcesses para descobrir informações sobre os processos atuais. Ele também demonstra como trabalhar com as colunas e linhas no objeto DataTable retornado.
//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);
}
}
}