我有一个用户'dbo'的数据库,其登录名为“domain \ xzy”。如何将其从“domain \ xzy”更改为“domain \ abc”。
答案 0 :(得分:99)
我明白了。在SQL Management Studio中,您必须右键单击数据库 - >属性 - >文件 - >所有者字段。将此字段更改为您希望与该数据库的“dbo”用户名关联的登录名/帐户。请记住,您选择的登录名/帐户必须已在安全性下的sql server中设置 - >登录
答案 1 :(得分:5)
如果您尝试将登录重新映射到db用户,可以使用sp_change_user_login
exec sp_change_user_login'Update_One','user','login'
答案 2 :(得分:1)
PantomTypist使用GUI提供了一个很好的答案。要使用TSQL获得相同的结果,您可以使用以下代码:
USE [My_Database_Name]
GO
EXEC dbo.sp_changedbowner @loginame = N'domain\abc', @map = false
GO
答案 3 :(得分:0)
这是Windows登录,而不是SQL Server登录,因此您无法“更改”登录名,因为它已链接到Active Directory中的用户帐户。
创建映射到新Windows用户的新服务器登录(Windows)(如有必要,删除旧的)。然后在登录的安全>用户映射,以用户'dbo'(或分配给db_owner角色)登录到相应数据库的权限