If you try to code a DDL managed trigger there is a small chance to have problems with the parameters of SqlTrigger attribute: Name, Target and Event.
Here’s an example that works :


Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Partial Public Class Triggers
<SqlTrigger(Event:="FOR DROP_TABLE", Name:="TriggerSample", Target:="DATABASE")>_
Public Shared Sub TriggerSample()
Dim triggContext As SqlTriggerContext
triggContext = SqlContext.TriggerContext

Select Case triggContext.TriggerAction
Case TriggerAction.DropTable
SqlContext.Pipe.Send("Table dropped! Here's the EventData:")
SqlContext.Pipe.Send(triggContext.EventData.Value)
End Select
End Sub
End Class