Здравствуйте, kiwo, Вы писали:
Ох, старый стал, мало что помню, но для зависимостей сиквел сервера в РТМ версии их надо как-то запускать, может в этом дело.
Если да, то поищите в мсдн статью, что-то наподобие "изменения с версии 2 до РТМ"... Увы, ссылку не могу найти
Здравствуйте, kiwo, Вы писали:
K>Какие ограничения? Нигде в MSDN их не видел...
Плохо смотрел...
SqlCacheDependency работает если:
На сервере включен ServiceBroker.
Разрешено выполнение .Net процедур.
В запросе перечислены все столбцы, никаких звездочек.
Имена объектов указаны с именем схемы....
Вообщем вот примерный список ограничений:
The SELECT statement in the view cannot contain these Transact-SQL syntax elements:
The select list cannot use the * or table_name.* syntax to specify columns. Column names must be explicitly stated.
A table column name used as a simple expression cannot be specified in more than one column.
A derived table.
Rowset functions.
UNION operator.
Subqueries.
Outer or self joins.
TOP clause.
ORDER BY clause.
DISTINCT keyword.
COUNT(*) (COUNT_BIG(*) is allowed.)
The AVG, MAX, MIN, STDEV, STDEVP, VAR, or VARP aggregate functions.
A SUM function that references a nullable expression.
The full-text predicates CONTAINS or FREETEXT.
COMPUTE or COMPUTE BY clause.
Проблема в том, что механизм с помощю которого сиквел узнает, что данные изменились точно такой же, как и в indexed views, ну и список ограничений примерно такой же..
Здравствуйте, Merle, Вы писали:
M>Здравствуйте, kiwo, Вы писали:
M> В запросе перечислены все столбцы, никаких звездочек. M> Имена объектов указаны с именем схемы.... M>[/list]
Запрос проще не бывает:
select [ID], [Name] from dbo.CleanTable.
Значит это M> На сервере включен ServiceBroker. M> Разрешено выполнение .Net процедур.
Может подскажешь, как в этом удебиться? Они включены по умолчанию?
Здравствуйте, kiwo, Вы писали:
K>Может подскажешь, как в этом удебиться? Они включены по умолчанию?
По умолчанию не должны.
Сервис брокер:
ALTER DATABASE SET ENABLE_BROKER
.Net процедуры — не помню, посмотри BOL...
И еще там могут быть заморочки с правами.
Если настраивать сервер базы как будто он старый, не 2005, то есть через aspnet_regsql и т.д., то все работает. Если пытаюсь использовать dependency ровно для такого же запроса, но к другой таблице или базе, не настроенной aspnet_regsql, то не работает...
Здравствуйте, kiwo, Вы писали:
K>Если настраивать сервер базы как будто он старый, не 2005, то есть через aspnet_regsql
Не понял. Как соотноится "старость" сервера и aspnet_regsql?
Любая весть изначально благая, просто ты к этому еще не привык
Здравствуйте, kiwo, Вы писали:
K>Утилита aspnet_regsql необходима только для SQL Server 7 и 2000, для 2005 она не нужна.
aspnet_regsql — это создание служебных таблиц аспнета в указанной базе. Как она соотносится с версией сиквела мне не очень ясно.