Verwenden des Aufzeichnungsmodus
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics
SMO-Programme können die entsprechenden Transact-SQL-Anweisungen erfassen und aufzeichnen, die vom Programm anstelle oder zusätzlich zu den Anweisungen ausgegeben werden, die vom Programm ausgeführt werden. Sie können den Aufzeichnungsmodus mithilfe des ServerConnection-Objekts oder mithilfe der ConnectionContext-Eigenschaft des Server-Objekts aktivieren.
Beispiel
Zum Verwenden eines angegebenen Codebeispiels müssen Sie die Programmierumgebung, Programmiervorlage und die zu verwendende Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.
Aktivieren des Aufzeichnungsmodus in Visual Basic
Dieses Codebeispiel aktiviert den Erfassungsmodus und zeigt dann die Transact-SQL-Befehle an, die im Erfassungspuffer gespeichert sind.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
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.
Dim s As String
For Each s In srv.ConnectionContext.CapturedSql.Text
Console.WriteLine(s)
Next
'Execute the captured statements.
srv.ConnectionContext.ExecuteNonQuery(srv.ConnectionContext.CapturedSql.Text)
'Revert to immediate execution mode.
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql
Aktivieren des Aufzeichnungsmodus in Visual C#
Dieses Codebeispiel aktiviert den Erfassungsmodus und zeigt dann die Transact-SQL-Befehle an, die im Erfassungspuffer gespeichert sind.
{
// 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;
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für