我有一个用户'dbo'具有登录名“domain \ xzy”的数据库。如何将其从“domain \ xzy”更改为“domain \ abc”。Sql Server 2005如何更改dbo登录名
回答
我想通了。在SQL Management Studio中,您必须右键单击数据库 - >属性 - >文件 - >所有者字段。将此字段更改为您希望与该数据库的“dbo”用户名关联的登录名/帐户。请记住,您选择的登录名称/帐户必须已经在安全性 - >登录下的sql server中设置。
这是Windows登录名,而不是SQL Server登录名,因此您无法“更改”登录名,因为它已链接到Active Directory中的用户帐户。
创建映射到新窗口用户的新服务器登录(Windows)(并在必要时删除旧的用户)。然后在登录的安全>用户映射,权限,该权限登录到相应的数据库用户“DBO”(或分配到db_owner角色)
如果你想重新映射登录到分贝用户可以使用sp_change_user_login
exec sp_change_user_login'Update_One','user','login'
sproc看起来像是'sp_change_users_login'(即_users_)。仅供参考,BOL还声明不推荐使用,并且将来应该使用ALTER USER。 – 2010-11-26 11:12:14
虽然通常这会起作用,但存储过程非常具体**拒绝**尝试以这种方式更改** dbo **用户。 – 2012-06-19 08:59:44
PantomTypist使用GUI给出了一个很好的答案。为了达到与TSQL相同的结果,您可以使用以下代码:
USE [My_Database_Name]
GO
EXEC dbo.sp_changedbowner @loginame = N'domain\abc', @map = false
GO
- 1. 如何在SQL Server 2005中使用动态SQL来更改登录名
- 2. SQL Server:如何更改登录
- 3. SQL Server 2005 - 登录问题
- 4. Sql Server 2005登录失败
- 5. SQL Server 2005更改审计
- 6. SQL Server 2005从用户名获取登录名
- 7. 如何更改SQL Server 2005中的根目录位置
- 8. 在SQL Server 2005登录页面
- 9. 捕获错误并登录SQL Server 2005
- 10. SQL Server 2005安装后登录失败
- 11. 同步SQL Server 2005登录密码
- 12. 用户登录SQL Server 2005中表达
- 13. SQL Server 2005(快速) - 登录vs用户
- 14. SQL Server Express 2008数据库用户dbo空白登录
- 15. 在SQL Server中为数据库登录到dbo
- 16. Windows登录名及其对SQL Server 2005的影响
- 17. SQL Server 2008 R2:如何识别已更新表的登录名
- 18. 如何在SQL Server 2005中扼制失败的登录?
- 19. 如何登录到SQL Server 2005 Express Management Studio?
- 20. SQL Server 2005表变更历史记录
- 21. SQL Server登录
- 22. SQL Server Mangement Studio更改脚本(2005)
- 23. 更改Sql Server 2005中的触发器
- 24. Sql Server 2005 - 更改排序规则
- 25. SQL Server 2005中的更改跟踪
- 26. 更改SQL Server 2005中的主键值
- 27. SQL Server 2005上的列长度更改
- 28. SQL 2005 sql登录IP限制
- 29. 添加链接服务器 - SQL Server 2005 - 稍后更改名称
- 30. 将SQL SERVER 2005从默认实例更改为命名实例?
我怀疑您没有正确理解SQL Server安全模型。 *整个服务器实例*具有与服务器关联的**登录**。这些可能是SQL或Windows登录。服务器上的每个数据库都有许多**用户**,并有权访问该数据库。数据库**用户**与SQL **登录**相关联,这些登录**通常(但不是必须)是相同的。 ** dbo **是每个数据库上的*特殊用户*。 OP没有试图和一个新的拥有数据库的db_owner权限的任意用户 - 他试图将不同的服务器登录与标准的** dbo **用户相关联。 – 2012-06-19 09:07:42