Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Greenhorn Member Откуда: Сообщений: 311 |
Добрый день.
При старте SQL_я есть необходимость в ряде действий. Что и было реализовано в отдельной SP_шке, запускаемой при старте. SP прекрасно работает после запуска SQL_я, а в момент запуска вылезает
И действительно есть две таблицы с фильтрованными индексами, из-за который и выскакивает данное сообщение (доказано опытным путем). Пробовал пересоздать индексы
Пробовал удалить индексы перед удалением из таблиц - ошибка та же ![]() try catch - не спасает ... Что делать ? |
|||
6 окт 14, 14:53 [16666291] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
а в начало тела процедуры,ето не пробовали вставить ? |
||
6 окт 14, 14:56 [16666315] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Делать так, чтобы на момент команды DELETE все нужные SET-ы имели нужные значения. |
||
6 окт 14, 14:58 [16666334] Ответить | Цитировать Сообщить модератору |
Greenhorn Member Откуда: Сообщений: 311 |
Пробовал - не помогает. Ошибка та же.
Как этого можно добиться если SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON SET NUMERIC_ROUNDABORT OFF DELETE FROM [dbo.[TableWithFilteredIndex]]Не работает... У меня идеи закончились, перед обращением в форум. |
||||||||
6 окт 14, 15:08 [16666415] Ответить | Цитировать Сообщить модератору |
daw Member Откуда: Муром -> Москва Сообщений: 7381 |
оберните вашу процедуру во внешнюю. в ней (во внешней) устанавливаете в нужное положение set-ы и запускаете уже вашу. а ANSI_NULLS и QUOTED_IDENTIFIER так и вовсе на момент создания (изменения) процедуры должны быть установлены. |
6 окт 14, 15:10 [16666436] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Например, внимательно прочитать в хелпе про каждый из SET-ов Особенно про QUOTED_IDENTIFIER и ANSI_NULLS |
||
6 окт 14, 15:11 [16666442] Ответить | Цитировать Сообщить модератору |
Greenhorn Member Откуда: Сообщений: 311 |
Не выходит каменный цветок:
Что не так ? |
|||
6 окт 14, 15:24 [16666546] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Все не так Только ANSI_NULLS и QUOTED_IDENTIFIER сохраняются с процедурой и восстанавливаются на момент ее выполнения А остальные SET-ы остаются текущими Вы не пробовали выводить список SET-ов перед командой ? И проверяить их ? |
||
6 окт 14, 15:27 [16666580] Ответить | Цитировать Сообщить модератору |
daw Member Откуда: Муром -> Москва Сообщений: 7381 |
вот так я имел в виду:SET ANSI_NULLS on; go set QUOTED_IDENTIFIER ON; go ALTER PROCEDURE [adm].[Startup] AS BEGIN SET ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL ON; SET NUMERIC_ROUNDABORT OFF; exec [adm].[StartupEx] END |
6 окт 14, 15:30 [16666630] Ответить | Цитировать Сообщить модератору |
Greenhorn Member Откуда: Сообщений: 311 |
Так получилось ... Спасибо... Буду разбираться дальше... |
||
6 окт 14, 15:51 [16666818] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
ееее...аааа.... а я что предлагал то ? |
||||||
6 окт 14, 16:16 [16666986] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
не малехо не то ... сорри |
||
6 окт 14, 16:17 [16666992] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |