Chamando métodos

Os métodos executam tarefas específicas relacionadas ao objeto, como emitir um Checkpoint 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 Manipulando exceções SMO.

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 mais informações, consulte "Como criar um projeto Visual Basic SMO no Visual Studio .NET" ou "Como criar um projeto Visual C# SMO no Visual Studio .NET" nos Manuais Online do SQL Server.

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("AdventureWorks2012").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("AdventureWorks2012").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 método EnumCollations retorna um objeto DataTable, que exige 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 objeto DataTable exige 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 de objetos Database está sobrecarregado e a versão do construtor de objetos Database usado na amostra tem dois parâmetros: o objeto pai Server 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 de objetos Database está sobrecarregado e a versão do construtor de objetos Database usado na amostra tem dois parâmetros: o objeto pai Server 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("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); 
}

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 objeto Server 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 = "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)

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 objeto Server 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 = "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); 
}

Monitorando processos de servidor no Visual Basic

Você pode obter as informações de tipo de status atuais sobre a instância do SQL Server através dos 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 atuais sobre a instância do SQL Server através dos 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); 
  } 
} 
} 

Consulte também

Referência

Server

ServerConnection