Sql server 可以创建用户,但不能更改它?
我正在尝试创建一个用户,然后在SQL Server中对其进行更改。到目前为止,我已经:Sql server 可以创建用户,但不能更改它?,sql-server,azure,Sql Server,Azure,我正在尝试创建一个用户,然后在SQL Server中对其进行更改。到目前为止,我已经: CREATE LOGIN bob1 WITH PASSWORD = '!abcd1234' GO ALTER USER bob1 WITH DEFAULT_SCHEMA = dbo; GO 第一条语句有效,但第二条语句: Msg 15151,第16级,状态1,第6行 无法更改用户“bob1”,因为它不存在或您没有权限 这到底是什么意思?为什么我能够创建一个用户,却不能修改它 看来我把登录和用户搞混了。
CREATE LOGIN bob1 WITH PASSWORD = '!abcd1234'
GO
ALTER USER bob1 WITH DEFAULT_SCHEMA = dbo;
GO
第一条语句有效,但第二条语句:
Msg 15151,第16级,状态1,第6行无法更改用户“bob1”,因为它不存在或您没有权限 这到底是什么意思?为什么我能够创建一个用户,却不能修改它
看来我把
登录
和用户
搞混了。这两个项目之间的区别是什么?在Azure中,登录不是用户,它用于登录Azure SQL数据库,您需要创建登录用户:为登录用户BOB1创建用户BOB1
,然后使用默认模式=dbo运行用户BOB1;。但这不是必需的,默认模式是dbo,我们无法指定它
创建登录以登录服务器/数据库,然后将用户映射到登录 之后,您需要为用户更改足够的权限/角色以访问数据库,例如:
ALTER ROLE db_owner ADD MEMBER 'bob1'
请参考此处:在Azure中,登录不是用户,它用于登录Azure SQL数据库,您需要创建用于登录的用户:
创建用于登录BOB1的用户BOB1
,然后运行使用默认\u SCHEMA=dbo更改用户BOB1代码>。但这不是必需的,默认模式是dbo
,我们无法指定它。创建登录以登录服务器/数据库,然后将用户映射到登录。ALTER ROLE
和使用GRANT
授予某人权限有什么区别?@David542ALTER ROLE
是将数据库角色授予用户。授予授予某些权限。在通常情况下,拥有的权限多于。