Назад | Перейти на главную страницу

Помощь с разрешениями SQL Server 2008

Сегодня я перенес базу данных с SQL Server 2005 на SQL Server 2008 R2, используя метод резервного копирования / восстановления, который прошел нормально и не вызвал никаких ошибок.

Я могу войти в SQL Server 2008 через SQL Server Management Studio с использованием аутентификации NT под пользователем-администратором и просматривать таблицы, запускать операторы выбора и т. Д. Пользователь-администратор является владельцем базы данных, которую я перенес.

Проблема в том, что когда я вхожу в SQL Server с использованием аутентификации NT под другим именем пользователя, я не могу запускать операторы выбора или просматривать таблицы, представления, хранимые процедуры или что-то еще.

Например, всякий раз, когда я запускаю оператор выбора, я получаю сообщение об ошибке

В разрешении SELECT было отказано для объекта «AAPUsers», базы данных «PINT», схемы «dbo».

Когда я пытаюсь развернуть дерево таблиц, я получаю сообщение об ошибке

В разрешении SELECT было отказано для объекта «extended_properties», базы данных «mssqlsystemresource», схемы «sys». (Microsoft SQL Server, ошибка: 229)

Я попытался дать другому пользователю полное разрешение на все, что могу найти, но проблема не исчезла.

Я обнаружил, что если я создаю пользователя SQL Server и вхожу в систему с этим пользователем и предоставляю им доступ к базе данных db_datareader и db_datawriter, тогда все работает нормально, только когда я использую NT Authentication.

Я попытался предоставить пользователю домена (например, домену / пользователю) указанные выше разрешения, но это не помогло. Если я сделаю пользователя домена владельцем базы данных, все будет работать, как и следовало ожидать.

Я также создал тестовую базу данных на SQL Server 2005 с одной таблицей и перенес ее в 2008, используя тот же метод резервного копирования / восстановления, и как только я предоставил своему пользователю домена db_datareader и db_datawriter доступ, он работает нормально, так что это как-то связано с этой конкретной базой данных, но Я могу понять это.

Проблема, похоже, связана с пользователями, прошедшими проверку подлинности NT, я уверен, что это просто что-то простое, что мне нужно сделать.

Я перепробовал все, что мог придумать, и у меня нет вариантов.

Убедитесь, что все в порядке с сопоставлениями между логинами (уровень сервера) / пользователями (уровень базы данных). Одна из распространенных ошибок при таких миграциях заключается в том, что администратор перемещает базу данных, но прогнозирует, что учетные записи, с которыми связаны пользователи, не существуют в новом экземпляре.