Я интегрирую SqlCacheDependency для использования в моем LinqToSQL datacontext.
Я использую дополнительный класс для Linq запросов, найденных здесь - http://code.msdn.microsoft.com/linqtosqlcache
Я обеспечил электричеством код и когда я открываю страницу, я получаю это исключение -
"Брокеру SQL Server Service для текущей базы данных не включают, и в результате запросите уведомления, не поддерживаются. Включите Сервисному Брокеру для этой базы данных, если Вы хотите использовать уведомления".
его прибытие из этого события в global.asax
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
//In Application Start Event
System.Data.SqlClient.SqlDependency.Start(new dataContextDataContext().Connection.ConnectionString);
}
мой вопрос...
как я включаю Сервисному Брокеру в моей базе данных SQL-сервера 2008? Я попытался выполнить этот запрос.. Имя таблицы ALTER DATABASE УСТАНОВИЛО ENABLE_BROKER, но это никогда не заканчивается и работает навсегда, я должен вручную остановить его.
после того как у меня есть этот набор в SQL-сервере 2008, он отфильтрует к моему DataContext, или я должен настроить что-то там также?
спасибо за любую справку
Truegilly
Хорошо, вот как это сделать, если ваш отключен или вам нужно восстановить резервную копию, которая, кажется, отключает ее.
просто запустите этот скрипт, он убьет все процессы, которые использует база данных (почему в 2008 году вы убили процессы вручную, в отличие от 2005, мне не по силам), а затем установите брокера
USE master
go
DECLARE @dbname sysname
SET @dbname = 'YourDBName'
DECLARE @spid int
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname)
WHILE @spid IS NOT NULL
BEGIN
EXECUTE ('KILL ' + @spid)
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname) AND spid > @spid
END
ALTER DATABASE @dbname SET ENABLE_BROKER