evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a: SQL ServerBanco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics
Há tipos de eventos de servidor que podem ser assinados usando um manipulador de eventos e o objeto ServerConnection.
Muitas das classes de instância no SQL Server Management Objects (SMO) podem disparar eventos quando determinadas ações no servidor ocorrem.
Esses eventos podem ser tratados programaticamente através da configuração de um manipulador de eventos e da inscrição nos eventos associados. Esse tipo de manipulação de eventos é transitório pois todas as assinaturas são removidas quando o programa cliente SMO é desativado.
O objeto ServerConnection dá suporte a vários tipos de eventos. A propriedade do evento deve ser definida como uma instância de um manipulador de eventos apropriado, e o objeto do manipulador de eventos deve ser definido como uma função protegida que manipula o evento.
Para manipular eventos, escreva uma classe de manipulador de evento, crie uma instância dela, atribua o manipulador de eventos ao objeto pai e faça a assinatura do evento.
Uma classe de manipulador de eventos deve ser escrita para manipular eventos. A classe do manipulador de eventos pode conter mais de uma função de manipulador de eventos e deve ser instalada para os eventos a serem manipulados. As funções do manipulador de eventos recebem informações sobre o evento do parâmetro ServerEventNotificatificationArgs que pode ser usado para relatar informações sobre o evento.
Os tipos de eventos de banco de dados e servidor que podem ser manipulados são listados na classe e na DatabaseEventSet ServerEventSetclasse.
Para usar qualquer exemplo de código fornecido, você precisa 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 C# no Visual Studio .NET.
Os exemplos de código a seguir mostram como configurar o manipulador de eventos e como assinar os eventos de banco de dados no .NET.
Este exemplo de código mostra como configurar o manipulador de eventos e como assinar os eventos de banco de dados.
'Create an event handler subroutine that runs when a table is created.
Private Sub MyCreateEventHandler(ByVal sender As Object, ByVal e As ServerEventArgs)
Console.WriteLine("A table has just been added to the AdventureWorks2022 database.")
End Sub
'Create an event handler subroutine that runs when a table is deleted.
Private Sub MyDropEventHandler(ByVal sender As Object, ByVal e As ServerEventArgs)
Console.WriteLine("A table has just been dropped from the AdventureWorks2022 database.")
End Sub
Sub Main()
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2022 database.
Dim db As Database
db = srv.Databases("AdventureWorks2022")
'Create a database event set that contains the CreateTable event only.
Dim databaseCreateEventSet As New DatabaseEventSet
databaseCreateEventSet.CreateTable = True
'Create a server event handler and set it to the first event handler subroutine.
Dim serverCreateEventHandler As ServerEventHandler
serverCreateEventHandler = New ServerEventHandler(AddressOf MyCreateEventHandler)
'Subscribe to the first server event handler when a CreateTable event occurs.
db.Events.SubscribeToEvents(databaseCreateEventSet, serverCreateEventHandler)
'Create a database event set that contains the DropTable event only.
Dim databaseDropEventSet As New DatabaseEventSet
databaseDropEventSet.DropTable = True
'Create a server event handler and set it to the second event handler subroutine.
Dim serverDropEventHandler As ServerEventHandler
serverDropEventHandler = New ServerEventHandler(AddressOf MyDropEventHandler)
'Subscribe to the second server event handler when a DropTable event occurs.
db.Events.SubscribeToEvents(databaseDropEventSet, serverDropEventHandler)
'Start event handling.
db.Events.StartEvents()
'Create a table on the database.
Dim tb As Table
tb = New Table(db, "Test_Table")
Dim mycol1 As Column
mycol1 = New Column(tb, "Name", DataType.NChar(50))
mycol1.Collation = "Latin1_General_CI_AS"
mycol1.Nullable = True
tb.Columns.Add(mycol1)
tb.Create()
'Remove the table.
tb.Drop()
'Wait until the events have occurred.
Dim x As Integer
Dim y As Integer
For x = 1 To 1000000000
y = x*2
Next
'Stop event handling.
db.Events.StopEvents()
End Sub
evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agora