Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sql запрос отрабатывает по разному (на двух машинах) / 8 сообщений из 8, страница 1 из 1
20.08.2002, 10:19:28
    #32044428
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
Доброго времени суток
Имеются две машины (старая и новая), обе под вин2к (сп3), обе несколько процессорные (помоему на xeon-е), новая пошустрее старой. База данных под MSSQL2000 (сп2) переносилась со старой машины на новую (deattach, attach). Наступили вот на какие грабли, - sql запрос вида:

if (select isnull(field1,-1) from table1 where (field2 = 11111)) <> 1 select 1 else select 0

Так вот на старой системе этот запрос возвращает 1, на новой 0. Да, следует заметить, что запрос
select isnull(field1,-1) from table1 where (field2 = 11111)
возвращает пустой результат (ничего не возвращает). Смотрел на sp_dboption, sp_configure, DBCC USEROPTIONS, sp_dbcmptlevel, - везде все одинаково. В books-online про операцию "<>" сказано что на ее поведение влияет ANSI_NULLS, пробовал включать/выключать - не лечится. Может быть сам запрос не корректен, но очень хочется понять где грабли. Неужто поведение не очень корректных запросов зависит от конфигурации машины?
...
Рейтинг: 0 / 0
20.08.2002, 10:53:52
    #32044450
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
Только разница в ANSI_NULLS.

> пробовал включать/выключать - не лечится

Включать/выключать можно по-разному. Как делалось в данном случае?
...
Рейтинг: 0 / 0
20.08.2002, 11:15:50
    #32044463
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
включал/выключал SET ANSI_NULLS {ON | OFF}
смотрел на это дело через DBCC USEROPTIONS
...
Рейтинг: 0 / 0
20.08.2002, 12:25:58
    #32044497
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
> включал/выключал SET ANSI_NULLS {ON | OFF}

Это не ответ.
"Так вы приехали на вокзал" - "Да, ехал-ехал я туда".


SET ANSI_NULLS OFF было непосредственно перед if (select ... ?
...
Рейтинг: 0 / 0
20.08.2002, 12:43:20
    #32044510
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
Да, ANSI_NULLS стоял перед запросом.
...
Рейтинг: 0 / 0
20.08.2002, 13:10:04
    #32044532
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
В том же батче (той же процедуре)?
...
Рейтинг: 0 / 0
20.08.2002, 13:14:30
    #32044537
MarchCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
А данные сверяли, прямо по строкам. Что там ? Идентичны?
...
Рейтинг: 0 / 0
20.08.2002, 18:43:11
    #32044709
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql запрос отрабатывает по разному (на двух машинах)
>В том же батче (той же процедуре)?
Да.

>А данные сверяли, прямо по строкам. Что там ? Идентичны?

Данные одинаковы, но дело не в данных, а в том что на одной машины сравнения пустого резалт-сета с числом дает true, а на другой false.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sql запрос отрабатывает по разному (на двух машинах) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]