Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Есть два сервера с двумя разными крутящимися на них базами, в ночном джобе отрабатываеться следующий скрипт по обновлению статистики...
USE etz_work
exec sp_msforeachtable N'UPDATE STATISTICS ? WITH ALL'
GO
UPDATE STATISTICS dbo.apsplan WITH FULLSCAN;
GO
DBCC FREEPROCCACHE
go

На одном сервере всё ОК, сообщение
Executed as user: ENERGOMERA\erpuser. DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528). The step succeeded.

На другом абсолютно тот же скрипт вернул...

Executed as user: ENERGOMERA\erpuser. UPDATE STATISTICS failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. [SQLSTATE 42000] (Error 1934). The step failed.

Какие ещё нафиг не корректные опции SET...что за бред ?
29 июн 11, 14:19    [10893080]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
stavgreengo
Какие ещё нафиг не корректные опции SET...что за бред ?

Вот эта - QUOTED_IDENTIFIER
Вы проверили, какое значение у этой настройки в вашем коннекте ?
29 июн 11, 14:21    [10893094]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Какие ещё нафиг не корректные опции SET...что за бред ?

Вот эта - QUOTED_IDENTIFIER
Вы проверили, какое значение у этой настройки в вашем коннекте ?


Если речь идёт о заключении в кавычки идентификатора, то для обоих баз они одинаково выключены.
29 июн 11, 15:16    [10893536]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
stavgreengo
Glory
пропущено...

Вот эта - QUOTED_IDENTIFIER
Вы проверили, какое значение у этой настройки в вашем коннекте ?


Если речь идёт о заключении в кавычки идентификатора, то для обоих баз они одинаково выключены.

Речь идет о том, как вы проверяете значение настройки QUOTED_IDENTIFIER непосредственно перед выполнением вашего скрипта и в том коннекте, где выполняется скрипт
29 июн 11, 15:20    [10893572]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
пропущено...


Если речь идёт о заключении в кавычки идентификатора, то для обоих баз они одинаково выключены.

Речь идет о том, как вы проверяете значение настройки QUOTED_IDENTIFIER непосредственно перед выполнением вашего скрипта и в том коннекте, где выполняется скрипт


Я конечно извиняюсь, но можно поподробнее, что именно надо сличить по настройкам QUOTED_IDENTIFIER на одной и на другой базе. Я так понимаю, что параметр SET QUOTED_IDENTIFIER связан с настройками QUOTED_IDENTIFER инструкции ALTER DATABASE, а она как раз и не прошла.

Тестовый скрипт
SET QUOTED_IDENTIFIER OFF
GO
-- An attempt to create a table with a reserved keyword as a name
-- should fail.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO

SET QUOTED_IDENTIFIER ON;
GO

-- Will succeed.
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO

SELECT "identity","order"
FROM "select"
ORDER BY "order";
GO

DROP TABLE "SELECT";
GO

SET QUOTED_IDENTIFIER OFF;
GO

Вернул одно и то же на обоих базах

Сообщение 170, уровень 15, состояние 1, строка 3
Line 3: Incorrect syntax near 'select'.

(строк обработано: 0)
29 июн 11, 15:39    [10893742]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
stavgreengo
-- An attempt to create a table with a reserved keyword as a name
-- should fail.

Перевести?
29 июн 11, 15:43    [10893774]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
Куда уж подробнее то ?
"непосредственно перед выполнением вашего скрипта и в том коннекте, где выполняется скрипт"
29 июн 11, 15:43    [10893783]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
"...require the following SET options if an index on a computed column exists in the database or table:

* ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING, and ANSI_WARNINGS must be set to ON.
* NUMERIC_ROUNDABORT must be set to OFF.

The error message is more likely to occur if the CHECKDB or CHECKTABLE is being scheduled from a SQL Server Agent job or from an Integrity Check in a Database Maintenance Plan.This is because by default the SQL Server Agent does not set QUOTED_IDENTIFIER or ARITHABORT."
29 июн 11, 15:46    [10893820]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Покрутил, повертел...сделал на тестовой базе
DBCC DBREINDEX ("dbo.artran");
Там в предыдущем степе джоба такая же ошибка была...
DBCC failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. [SQLSTATE 42000] (Error 1934). The step failed.
Прописанно в джоб было именно так, теперь всё катит, без ошибок...это как-то гарантирует ночное выполнение джоба или ещё как протестить, а то что-то я побаиваюсь (
29 июн 11, 17:25    [10894895]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Ну да, как показала практика - всё успешно, можно закрывать тему !!!
30 июн 11, 10:40    [10897510]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Опять началось...через день появляется ошибка...
DBCC failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. [SQLSTATE 42000] (Error 1934). The step failed.

Если вообще ничего не менять и не трогать, то на следующий день может всё завершиться успешно без проблем. Ошибка плавающая, выскакивает при выполнении скрипта...
USE etz_work;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE etz_work
SET RECOVERY SIMPLE;
GO
DBCC SHRINKDATABASE (etz_work);
GO
DBCC DBREINDEX ("dbo.trnitem");
GO
DBCC DBREINDEX ("dbo.item");
GO
DBCC DBREINDEX ("dbo.jobtran");
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (etz_work_Log, 1);
GO
USE etz_work;
GO
ALTER DATABASE etz_work
SET RECOVERY FULL;
GO

Что ему периодически мешает я незнаю :( Подскажите плиз, с чем может быть связано такое поведение ?
5 июл 11, 09:23    [10922078]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
stavgreengo

Что ему периодически мешает я незнаю :( Подскажите плиз, с чем может быть связано такое поведение ?

Начинаем по новой
"Вы проверили, какое значение у этой настройки в вашем коннекте ? "
5 июл 11, 10:50    [10922739]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
Что ему периодически мешает я незнаю :( Подскажите плиз, с чем может быть связано такое поведение ?

Начинаем по новой
"Вы проверили, какое значение у этой настройки в вашем коннекте ? "

true
5 июл 11, 14:31    [10924999]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
У меня русскоязычный management studio...всё верно в настройках коннекта ? (аттач)

К сообщению приложен файл. Размер - 63Kb
5 июл 11, 16:29    [10926369]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> У меня русскоязычный management studio...всё верно в настройках коннекта ? (аттач)

это вы в свойствах сервера смотрите? это настройки по умолчанию, которые перекрываются
всем, чем только угодно, начиная с установок БД и заканчивая сетами клиентов.

смотрите что в Сервис - Параметры - выполнение запроса - SQL Server - ANSI
(так, вроде, должно быть - по хелпу восстанавливал).

Posted via ActualForum NNTP Server 1.4

5 июл 11, 16:46    [10926534]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
stavgreengo
У меня русскоязычный management studio...всё верно в настройках коннекта ? (аттач)

Картинка с другого сайта.

Это не настройки коннекта, в котором выполняется ваш скрипт
это свойства сервера
5 июл 11, 17:03    [10926688]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Вот такие настройки...

К сообщению приложен файл. Размер - 68Kb
5 июл 11, 17:16    [10926785]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
stavgreengo
Вот такие настройки...


ну, если выполнять скрипт в этом вот ssms, то ошибок быть не должно. :)
но у вас-то оно в джобе (прошу прощения - не сразу вчитался в тему).
попробуйте уже выставить все, что надо, прямо в скрипте.
5 июл 11, 17:53    [10927085]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
ПРОБЛЕМА РЕШЕНА !!!
http://support.microsoft.com/kb/902388/en-us
Это Вам поможет. Вкратце - при выполнении скрипта опция QUOTED_IDENTIFIER переводится в состоянии ON. А обычно она бывает OFF. Если так - то при этом в джобах первая команда должна быть не в двойных кавычках, а в ординарных.
Или - первую команду в джобах можете поменять, добавив параметры –S ServerName\InstanceName и -SupportComputedColumn

Собственно это признанный MS баг SQL 2000 SP4 !!!
6 июл 11, 10:59    [10930282]     Ответить | Цитировать Сообщить модератору
 Re: Чертовски странная ошибка при ручном обновлении статистики  [new]
Glory
Member

Откуда:
Сообщений: 104751
stavgreengo
Собственно это признанный MS баг SQL 2000 SP4 !!!

http://support.microsoft.com/kb/902388/en-us
"When you try to use the Database Maintenance Plan Wizard ..."
А вы разве говорили о об использовании Database Maintenance Plan-а ?

stavgreengo
Вкратце - при выполнении скрипта опция QUOTED_IDENTIFIER переводится в состоянии ON.

При выполнении показанных вами скриптов так, как они есть, никаких изменений настроек текущего коннекта не происходит. Не надо придумывать
6 июл 11, 11:24    [10930559]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить