Результаты запроса SQL Server 2005 различаются для разных учетных записей AD, использующих один и тот же логин SQL - PullRequest
0 голосов
/ 19 сентября 2011

Есть две учетные записи AD, admin1 и admin2.Оба подключаются к одинаковым компьютерам, оба открывают SQL Server Management Studio и входят в систему как один и тот же пользователь SQL на одном и том же сервере SQL (с использованием проверки подлинности SQL Server, НЕ используя встроенную защиту), и оба запускают одинаковый запрос: «SELECT * FROMView1" .Однако admin1 получает много результатов (правильный набор результатов), тогда как admin2 получает пустой набор результатов.Это происходит на каждом компьютере в домене, независимо от версии Windows, проводного / беспроводного соединения и т. Д.

Почему это происходит?Разве SSMS не должен быть независимым от учетной записи Windows при использовании аутентификации SQL Server?Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 30 апреля 2012

Вы можете использовать необработанные таблицы или взломать базовую структуру представления, вставив записи вручную, в которых имя домена указывается в качестве идентификатора входа для аутентификации SQL Server, и предоставив не CRMReaderRole, а стандартную роль DQL.Взгляните на замечательную функцию fn_FindUserGuid, которая ищет SystemGuid, к которому присоединяются все представления.Просто сфабриковать эту запись и несколько других и ваше добро.Если вы перепроектируете их систему, то увидите, что есть способ обмануть систему.

По сути, это просто SystemUserBase, SystemUserPrincipals, UserSettingsBase.

Очевидно, что это не рекомендуется Microsoft.¯ (° _ °) / ¯ Но когда вам нужно соединение ODBC на общем сервере, который предоставляет общие отчеты многим пользователям за пределами замечательного мира CRM, вам нужно сделать это.Вы НЕ найдете другого пути, кроме репликации данных в другую базу данных, но, конечно, имейте в виду, что динамика удивительно динамична и часто меняется.Удачи в синхронизации сред.

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

1 голос
/ 27 октября 2011

У меня возникла проблема с Microsoft Dynamics CRM, а не с самим SQL Server. Я использовал фильтрованные представления, которые возвращают нулевые результаты любому пользователю, не использующему аутентификацию Windows. Я не уверен, как я получил результаты, которые я упомянул выше, но пытаясь снова в другой день, я так и не смог получить результаты с аутентификацией SQL, независимо от того, какую учетную запись Windows я использовал. Кроме того, мне всегда удавалось получать результаты при входе в систему с проверкой подлинности Windows.

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