2012-03-23 3 views
0

Это был очень странный сценарий, который я только что наблюдал на машине коллеги.SSMS возвращает только частичные результаты

При выпуске заявления update в SSMS мы заметили, что возвращенное сообщение указало, что одна запись была обновлена. При запросе одной таблицы для всех записей SQL возвращал только один результат, который не соответствовал предложении where предыдущего update. Мы смогли воспроизвести это явление несколько раз без изменений.

Затем мы открыли новую вкладку запроса, и выполняется точно такой же (копия & паста) select * запроса, и в этом окне, 18 записей были возвращены в том числе записи, соответствующей пункт нашего update заявления where.

Возвращение на первую вкладку и запуск select * по-прежнему приводило к появлению единственной записи. Мы попытались переподключиться к экземпляру SQL на этой вкладке, после чего смогли вернуть полные 18 результатов.

Что случилось? Кажется, что SSMS имела какую-то ошибку, но тот факт, что мы смогли записать update и select (один) на вкладке «Сломанная», очень озадачивает. Кто-нибудь видел что-то подобное раньше?

+0

Может ли эта вкладка быть подключена к разному экземпляру? –

ответ

2

Был ли кто-то выдан SET ROWCOUNT 1 ранее в этом окне? То, что вы описываете, звучит именно так.

Эффекты изменения количества строк могут быть отключены с помощью SET ROWCOUNT 0.

Подробнее об этом варианте свыше in MSDN.

+0

Вы правы, 'SET ROWCOUNT 1' сделал почти то же самое. Я не видел никаких признаков этого, я должен буду спросить. – Colin

+0

Он сказал нет, но я должен подумать, что это произошло как-то. – Colin

Смежные вопросы