Я пытаюсь заставить SqlDependency
работать с существующей базой данных и моим проектом на C #. Я протестировал мой код C # в тестовой базе данных, и он работает, как и ожидалось. Когда я пытаюсь использовать существующую базу данных, я не передаю событие в мой C # на событие OnChange, когда в базу данных добавляется новая запись данных. поскольку он работает с моей тестовой базой данных, я изолировал проблему до существующей базы данных.
Я включил брокера:
ALTER DATABASE [dbName] SET ENABLE_BROKER
Я создал очередь и службу:
CREATE QUEUE NewEventQueue;
CREATE SERVICE NewEventService ON QUEUE NewEventQueue
([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification])
Я не могу предоставить разрешения, потому что я уже такой же. Когда я запускаю следующий запрос, он говорит мне, что я не могу предоставить, отказать или отменить разрешения для sa:
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "dbo"
(Кстати, «SELECT CURRENT_USER» возвращает результат «dbo»)
Когда я запускаю проект C # и делаю запрос подписки на базу данных, под System Queues
и System Services
, появляется сообщение:
-dbo.SqlQueryNotificationService
Мне пока не удалось найти никаких исправлений, я был бы очень признателен за любые предложения по решению этой проблемы.