База данных SQL Server Express 2008 Пользователь dbo с пустым логином

У нас есть SQL Server Express 2008 на рабочем сервере. Для рассматриваемой базы данных нам необходимо убедиться, что локальная версия для разработки настроена так же, как и на рабочем сервере.

В производственной БД у пользователя dbo пустой логин.

В локальной БД Пользователь dbo использует логин администратора локальной машины.

Я могу изменить dbo на другой логин (скажем, sa) на обеих машинах, но я действительно не хочу возиться с производственной настройкой.

Итак, 2 вопроса:

  1. Существуют ли законные причины (например, безопасность) для пользователя dbo базы данных с пустым логином или это плохая/неполная настройка?

  2. Если в этом нет ничего плохого, как я могу удалить логин от пользователя dbo локальной базы данных?

Спасибо за все рекомендации!


person Serexx    schedule 01.02.2012    source источник


Ответы (1)


Пользователь базы данных dbo уникален, так как логины в фиксированной серверной роли sysadmin автоматически сопоставляются с ним. Вероятно, это то, что вы подразумеваете под «пустым логином».

Используете ли вы логин sa или другой логин с привилегиями sysadmin для доступа к базе данных?

person Community    schedule 01.02.2012
comment
Спасибо за ваш ответ - к БД обращаются приложения Asp.Net, которые используют отдельную пару "Пользователь/Логин" для доступа - этот пользователь имеет схему по умолчанию "dbo", а логин имеет роли сервера "processadmin" и "public" - - person Serexx; 02.02.2012
comment
также, насколько я вижу, пользователь dbo имеет единственную роль 'db_owner' - person Serexx; 02.02.2012
comment
@Serexx Да, dbo имеет роль базы данных db_owner. Логин, объект уровня экземпляра, который использует dbo, является логином с sysadmin привилегиями. Помните, что логины и пользователи базы данных — это две разные сущности. - person ; 02.02.2012