56

我有一个用户“dbo”的数据库,其登录名“域\xzy”。如何将其从“域\xzy”更改为“域\abc”。

4

4 回答 4

104

我想到了。在 SQL Management Studio 中,您必须右键单击数据库 -> 属性 -> 文件 -> 所有者字段。将此字段更改为您希望与该数据库的“dbo”用户名关联的登录名/帐户。请记住,您选择的登录名/帐户必须已经在 sql server 中的 Security -> Logins 下设置

于 2008-10-30T20:55:35.373 回答
5

如果您尝试将登录名重新映射到 db 用户,则可以使用 sp_change_user_login

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

于 2008-10-02T15:15:14.097 回答
1

PhantomTypist 使用 GUI 给出了很好的答案。为了使用 TSQL 实现相同的结果,您可以使用以下代码:

USE [My_Database_Name]
GO
EXEC dbo.sp_changedbowner @loginame = N'domain\abc', @map = false
GO
于 2015-09-11T02:40:50.530 回答
0

这是 Windows 登录,而不是 SQL Server 登录,因此您不能“更改”登录名,因为它与 Active Directory 中的用户帐户相关联。

创建映射到新 Windows 用户的新服务器登录 (Windows)(如有必要,删除旧用户)。然后在登录的安全 > 用户映射中,以用户 'dbo' 身份登录到相应数据库的权限(或分配给 db_owner 角色)

于 2008-10-02T15:02:55.283 回答