|
|
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток Имеются две машины (старая и новая), обе под вин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, пробовал включать/выключать - не лечится. Может быть сам запрос не корректен, но очень хочется понять где грабли. Неужто поведение не очень корректных запросов зависит от конфигурации машины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 10:19:28 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
Только разница в ANSI_NULLS. > пробовал включать/выключать - не лечится Включать/выключать можно по-разному. Как делалось в данном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 10:53:52 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
включал/выключал SET ANSI_NULLS {ON | OFF} смотрел на это дело через DBCC USEROPTIONS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 11:15:50 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
> включал/выключал SET ANSI_NULLS {ON | OFF} Это не ответ. "Так вы приехали на вокзал" - "Да, ехал-ехал я туда". SET ANSI_NULLS OFF было непосредственно перед if (select ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 12:25:58 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
Да, ANSI_NULLS стоял перед запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 12:43:20 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
В том же батче (той же процедуре)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 13:10:04 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
А данные сверяли, прямо по строкам. Что там ? Идентичны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 13:14:30 |
|
||
|
sql запрос отрабатывает по разному (на двух машинах)
|
|||
|---|---|---|---|
|
#18+
>В том же батче (той же процедуре)? Да. >А данные сверяли, прямо по строкам. Что там ? Идентичны? Данные одинаковы, но дело не в данных, а в том что на одной машины сравнения пустого резалт-сета с числом дает true, а на другой false. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 18:43:11 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32044497&tid=1820977]: |
0ms |
get settings: |
12ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 460ms |

| 0 / 0 |
