Partager via


Utilisation du mode de capture

Les programmes SMO peuvent capturer et enregistrer les instructions Transact-SQL équivalentes émises par le programme à la place ou en plus des instructions exécutées par le programme. Vous activez le mode de capture à l’aide de l’objet ServerConnection ou en utilisant la ConnectionContext propriété de l’objet Server .

Exemple :

Pour utiliser un exemple de code fourni, vous devez choisir l’environnement de programmation, le modèle de programmation et le langage de programmation dans lequel créer votre application. Pour plus d’informations, consultez « How to : Create a Visual Basic SMO Project in Visual Studio .NET » ou « How to : Create a Visual C# SMO Project in Visual Studio .NET » dans la documentation en ligne de SQL Server.

Activation du mode de capture en Visual Basic

Cet exemple de code active le mode de capture, puis affiche les commandes Transact-SQL conservées dans la mémoire tampon de capture.

Activation du mode de capture dans Visual C#

Cet exemple de code active le mode de capture, puis affiche les commandes Transact-SQL conservées dans la mémoire tampon de capture.

{   
// 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;   
}