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

SQL 2008. У меня есть пользователь в базе данных, у которого нет входа на сервер. Как это возможно?

Я говорю об аутентификации Windows.

У меня нет доступа к правам рекламы сервера, но dbadmin прислал мне снимок экрана, на котором мой пользователь не зарегистрирован на сервере. а также есть только одна группа Windows под названием admin - базы данных, в которой я на 100% уверен, что мой парень не может быть ее частью.

НО ... его логин есть у пользователей моей БД ...

Почему пользователь может появиться в БД, не имея входа на сервер?

P.S. в журналах он печатает: Ошибка входа для пользователя «xxxx». Причина: проверка доступа к серверу на основе токенов завершилась неудачно из-за ошибки инфраструктуры. Проверьте предыдущие ошибки

Если база данных была восстановлена ​​или перенесена, все логины необходимо будет повторно связать. Это называется сиротским входом.

Если есть логин с таким же именем, вы можете использовать этот скрипт, чтобы исправить это.

USE [db_name]
GO
exec sp_change_users_login "auto_fix", "username";

Простое воссоздание имени входа после восстановления базы данных не приведет к повторной привязке его к пользователю. Вы должны изменить пользователя, который будет связан с данным логином.

Ты можешь использовать

ALTER USER [X]
WITH LOGIN = [Y];

Поскольку у вас может быть пользователь с именем A, связанный с логином B.

Помните: вход для каждого сервера, пользователь для каждой базы данных.

Также вполне возможно создавать пользователей без логинов.

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ sithlord БЕЗ ВХОДА

Эти пользователи без входа в систему могут быть полезны для олицетворения, когда доступ к данным может быть отфильтрован в зависимости от контекста пользователя (т. Е. Настраиваемой безопасности на уровне строк).

ИСПОЛНИТЬ КАК ПОЛЬЗОВАТЕЛЬ = 'sithlord'

ВЫБРАТЬ * ИЗ dbo.someView

ОБРАТИТЬСЯ