Несовместимые результаты с SQL Server - PullRequest
0 голосов
/ 12 января 2012

У меня проблемы с установкой SQL Server 2008 R2 (Express).Кажется, что две таблицы работают в «параллельном режиме».

Если я выполню следующий запрос:

USE [database];
SELECT * FROM [dbo].[events] WHERE 1=1;

Я получу ожидаемые результаты.Однако, если я выполню этот запрос, я получу набор данных, который совершенно неверен:

SELECT * FROM [database].[dbo].[events] WHERE 1=1;

Данные отправляются в базу данных различными программами - так что, очевидно, одно (или более) из этих приложенийделает что-то не так.Приложения подключаются к базе данных через C # LINQ -> SQL DBML, DBML (который я не могу изменить) использует events в качестве имени таблицы (в идеале это будет использовать dbo.events, но я не могу изменить / воссоздать его).)

Кто-нибудь видел это раньше?Есть ли способ сделать два запроса эквивалентными?Я могу при необходимости воссоздать базу данных - данные там не являются критическими.

Если я загружаю базу данных в SQL Management Studio и щелкаю правой кнопкой мыши, чтобы выбрать «Выбрать верхние [1000] строки» - он выполняетвторой запрос (тот, который дает мне неправильные результаты ...).

Редактировать:

  • В игре только 1 экземпляр (насколько я знаю в любом случае - сейчас нет доступа к серверу, проверю завтра)
  • Две таблицы совершенно разные.В результате запроса 1 получается около 2000 элементов.Запрос 2 приводит к 20 000 или около того пунктов.Все предметы уникальны.

1 Ответ

1 голос
/ 12 января 2012

Похоже, Мартин прав. Кто-то испортил этот конкретный сервер и создал таблицы с одинаковыми именами в другой базе данных, а затем установил некоторые неправильные настройки, чтобы сделать плохую базу данных по умолчанию.

Удаление фиктивной базы данных устранило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...