Compartilhar via


Usando modo de captura

Os programas SMO podem capturar e registrar as instruções de Transact-SQL equivalentes emitidas pelo programa no lugar ou, além das instruções executadas pelo programa. Habilite o modo de captura usando o ServerConnection objeto ou usando a ConnectionContext propriedade do Server objeto.

Exemplo

Para usar qualquer exemplo de código fornecido, você precisará escolher o ambiente de programação, o modelo de programação e a linguagem de programação na qual criar seu aplicativo. Para obter mais informações, consulte "Como criar um projeto SMO do Visual Basic no Visual Studio .NET" ou "Como criar um projeto SMO do Visual C# no Visual Studio .NET" nos Manuais Online do SQL Server.

Habilitando o modo de captura no Visual Basic

Este exemplo de código habilita o modo de captura e exibe os comandos Transact-SQL mantidos no buffer de captura.

Habilitando o modo de captura no Visual C#

Este exemplo de código habilita o modo de captura e exibe os comandos Transact-SQL mantidos no buffer de captura.

{   
// Connect to the local, default instance of SQL Server.   
Server srv;   
srv = new Server();   
// Set the execution mode to CaptureSql for the connection.   
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.CaptureSql;   
// Make a modification to the server that is to be captured.   
srv.UserOptions.AnsiNulls = true;   
srv.Alter();   
// Iterate through the strings in the capture buffer and display the captured statements.   
string s;   
foreach ( String p_s in srv.ConnectionContext.CapturedSql.Text ) {   
   Console.WriteLine(p_s);   
}   
// Execute the captured statements.   
srv.ConnectionContext.ExecuteNonQuery(srv.ConnectionContext.CapturedSql.Text);   
// Revert to immediate execution mode.   
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql;   
}