SQL Server 2005, как изменить имя входа DBO - PullRequest
55 голосов
/ 02 октября 2008

У меня есть база данных с пользователем 'dbo', которая имеет имя для входа "domain \ xzy". Как мне изменить его с "domain \ xzy" на "domain \ abc".

Ответы [ 4 ]

99 голосов
/ 30 октября 2008

Я понял это. В SQL Management Studio вы должны щелкнуть правой кнопкой мыши на базе данных -> Свойства -> Файлы -> Владелец. Измените это поле на имя входа / учетную запись, которую вы хотите связать с именем пользователя "dbo" для этой базы данных. Имейте в виду, что выбранное имя пользователя / учетная запись уже должны быть настроены на сервере sql в разделе Безопасность -> Логины

.
5 голосов
/ 02 октября 2008

Если вы пытаетесь переназначить логин пользователю БД, вы можете использовать sp_change_user_login

exec sp_change_user_login 'Update_One', 'user', 'login'

1 голос
/ 11 сентября 2015

PantomTypist дает хороший ответ, используя графический интерфейс. Для достижения того же результата с TSQL вы можете использовать этот код:

USE [My_Database_Name]
GO
EXEC dbo.sp_changedbowner @loginame = N'domain\abc', @map = false
GO
0 голосов
/ 02 октября 2008

Это имя входа Windows, а не имя входа SQL Server, поэтому вы не можете «изменить» имя входа, поскольку оно связано с учетной записью пользователя в Active Directory.

Создайте новую учетную запись сервера (Windows), сопоставленную с новым пользователем Windows (и при необходимости удалите старую). Затем в разделе «Безопасность»> «Сопоставление пользователей» разрешите вход в соответствующую базу данных от имени пользователя «dbo» (или назначьте роль db_owner)

...