Compartir a través de


Utilizar el modo de captura

Los programas SMO pueden capturar y registrar las instrucciones de Transact-SQL equivalentes emitidas por el programa en lugar de, o además, las instrucciones ejecutadas por el programa. Se habilita el modo de captura mediante el ServerConnection objeto o mediante la ConnectionContext propiedad del Server objeto .

Ejemplo

Para usar cualquier ejemplo de código que se proporcione, tendrá que elegir el entorno de programación, la plantilla de programación y el lenguaje de programación en el que se va a crear la aplicación. Para obtener más información, vea "How to: Create a Visual Basic SMO Project in Visual Studio .NET" o "How to: Create a Visual C# SMO Project in Visual Studio .NET" in SQL Server Books Online.

Habilitación del 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 Transact-SQL mantenidos en el búfer de captura.

Habilitación del 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 Transact-SQL mantenidos 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;   
}