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

Конечно, это hackable; все программное обеспечение. Чтобы быть конкретным, каждый экземпляр в ОС, где данные записаны в ячейку памяти, является потенциальной уязвимостью переполнения буфера, и это только для начинающих.

3
задан 9 November 2010 в 13:55
2 ответа

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

Если существует вход в систему с тем же именем, можно использовать этот сценарий для фиксации его.

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

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

Можно использовать

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

Так как у Вас может быть пользователь с именем связанное с входом в систему B.

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

6
ответ дан 3 December 2019 в 05:18
  • 1
    @Bobb - удача с этим! Я надеюсь, что Ваш DBA является ручным... –  Guy 9 November 2010 в 14:38

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

СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ sithlord БЕЗ ВХОДА В СИСТЕМУ

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

ДОЛЖНОСТНОЕ ЛИЦО ПОЛЬЗОВАТЕЛЬ AS = 'sithlord'

ВЫБЕРИТЕ * ИЗ dbo.someView

ВЕРНУТЬСЯ

1
ответ дан 3 December 2019 в 05:18

Теги

Похожие вопросы