SqlDependency 没有触发

SqlDependency isn't firing

SqlDependency 未触发。这是过去有效的方法,所以我不知道出了什么问题。

    private static void Main(string[] args)
    {
        SqlDependency dependency;
        var connectionString = "Server=localhost;Database=SqlServerTestDatabase;Trusted_Connection=True;";
        using (var connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using (var command = new SqlCommand("SELECT FullName, State FROM [Sales].[Customer]", connection))
            {
                dependency = new SqlDependency(command);
                SqlDependency.Start(connectionString);
                dependency.OnChange += new OnChangeEventHandler((s, e) =>
                {
                    Console.WriteLine("Success!!!!");
                });
                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read()) { } //NoOP
                }
            }

            while (true)
            {
                Console.WriteLine($"Waiting for event. dependency.HasChanges = {dependency.HasChanges}");
                Thread.Sleep(1000);
            }
        }
    }

SQL 触发事件:

INSERT INTO Sales.Customer(FullName, State ) VALUES ( N'Test 123', 'CA');

我没有收到错误,只是事件没有触发。

用户是sysadmin并且在数据库级别启用了服务代理。

数据库版本:14.0.2002.14

您可能是数据库所有者,但您的帐户安全设置仍然一团糟。要解决此问题,请删除用户(不是登录名),然后重新创建它。