запрос на изменение пользователя базы данных в SQL Server 2008 - PullRequest
1 голос
/ 07 марта 2011

Я использую аутентификацию SQL Server с логином sa (по умолчанию)

Когда я выполняю запрос

select session_user

Я получаю dbo как пользователь. Я хочу изменить это, как я могу сделать это с помощью SQL-запроса? И что такое схема в SQL?

Ответы [ 2 ]

1 голос
/ 07 марта 2011

Sql сервер имеет 2 разных понятия

  • логин: что вы используете для подключения к серверу
  • Пользователь: что вы даете права в базе данных

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

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

use master
create login xxx with password = 'yyy', check_policy = off
use <yourdatabase>
exec sp_changedbowner 'xxx'
create user 'newuser' from login 'sa'

Таким образом, теперь логин sa будет сопоставлен с пользователем базы данных newuser.

Схема - это защищаемый элемент, который можно использовать для группировки объектов базы данных.Каждому пользователю базы данных назначена «схема по умолчанию».

0 голосов
/ 07 марта 2011

Схема - это способ категоризации объектов в базе данных. Это может быть полезно, если у вас есть несколько приложений, совместно использующих одну базу данных, и хотя существует некоторый общий набор данных, к которым обращается все приложение.

DBO является владельцем базы данных. Вы создали базу данных и являетесь ее владельцем.

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