Utilizar el modo de captura
Los programas SMO pueden capturar y registrar las instrucciones Transact-SQL equivalentes emitidas por el programa en lugar de, o además, las instrucciones ejecutadas por el programa. Puede habilitar el modo de captura utilizando el objeto ServerConnection o utilizando la propiedad ConnectionContext del objeto Server.
Ejemplo
Para utilizar cualquier ejemplo de código que se proporcione, deberá elegir el entorno de programación, la plantilla de programación y el lenguaje de programación con los que crear su aplicación. Para obtener más información, vea "Crear un proyecto de Visual Basic SMO en Visual Studio .NET" o "Crear un proyecto de Visual C# SMO en Visual Studio .NET" en Libros en pantalla de Microsoft SQL Server.
Habilitar el modo de captura en Visual Basic
En este ejemplo de código se habilita el modo de captura y, a continuación, se muestran los comandos de Transact-SQL contenidos en el búfer de captura.
Habilitar el modo de captura en Visual C#
En este ejemplo de código se habilita el modo de captura y, a continuación, se muestran los comandos de Transact-SQL contenidos en el búfer 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;
}