use*_*285 6 security sql-server sql-server-2012
这个问题以前有人问过,但我没有看到任何答案(/sf/ask/452816941/)
当用户最初是使用 GUI 中的“SQL User without login”用户类型选项创建时,如何将登录映射到用户?我正在使用 SQL Server 2012
通过在 SSMS 的创建用户对话框中选择无需登录的 SQL 用户,这是生成的 T-SQL(除了提供的用户名之外没有其他选项):
USE [AdventureWorks2012]
GO
CREATE USER [User1] WITHOUT LOGIN
GO
Run Code Online (Sandbox Code Playgroud)
如果您要创建一个登录名并尝试使用新登录名更改用户,例如以下尝试:
create login TestLogin1
with password = 'p@$$w0rd';
go
use AdventureWorks2012;
go
alter user User1
with login = TestLogin1;
go
Run Code Online (Sandbox Code Playgroud)
您将收到以下错误:
消息 33016,级别 16,状态 1,第 8 行
用户无法重新映射到登录。只能对映射到 Windows 或 SQL 登录名的用户进行重新映射。
因此,我认为您无法在不重新创建的情况下将登录链接到此类用户。它应该相对轻松,因为您可以编写用户脚本,但将参数更改为WITHOUT LOGIN您希望将其映射到的任何登录名。
编辑:正如下面 Aaron 所指出的,在进行任何更改之前,请确保您注意权限和角色成员资格。如果这是所需的行为,您需要确保可以返回到当前所处的权限状态。
| 归档时间: |
|
| 查看次数: |
14745 次 |
| 最近记录: |