解释此SQL脚本以创建用户和分配角色

时间:2013-08-02 07:58:50

标签: sql sql-server tsql

我需要创建一个SQL用户:并且遇到了这个脚本:

CREATE USER [Username] FOR LOGIN [Domain\Username]
EXEC sp_addrolemember N'DatabaseRole', N'Username'

在此链接: Creating a user, mapping to a database and assigning roles to that database using SQL scripts

有人可以向我解释这个脚本:

  1. 什么是[Domain\Username]?
  2. [用户名] =我想要的用户名,
  3. 什么是sp_addrolemember
  4. 什么是N'DatabaseRole',?
  5. 我应该把什么作为N'Username'?用户名与[用户名]相同?

3 个答案:

答案 0 :(得分:2)

1:[Domain\Username]适用于Windows Active Directory - 该域的用户。

示例:假设您有一个名为StackOverFlow的AD /域/计算机,即Domain,然后您的用户名为Awan,这使得StackOverFlow\Awan成为[Awan]

2:正确,这是您希望在那里插入用户名的用户名(在括号内)

示例sp_addrolemember

3:N'DatabaseRole'是一个为用户添加特定角色的功能。 (dbo等)

4:db_owner是一个数字文本,您可以在其中写下您的用户应具有的角色。一个例子是N'Awan',它使用户能够创建表,删除表,更改表等。

5:确切地说,您只是举例N'Username'而不是{{1}}

否则,您可以从SSMS(http://msdn.microsoft.com/en-us/library/aa337562.aspx

创建用户

答案 1 :(得分:1)

当您使用WINDOWS服务器时,您只能为有权访问Windows服务器的用户创建用户。

  1. SERVERNAME \ USERNAME例如临时服务器\ Ashutosh说
  2. 你知道吗
  3. 此Sp基本上为用户设置角色。 4和5。 http://msdn.microsoft.com/en-us/library/ms187750.aspx
  4. 以下是在GUI

    中执行此操作的方法

    http://msdn.microsoft.com/en-us/library/aa337562.aspx

    此致

    Ashutosh Arya

答案 2 :(得分:1)

  1. [Domain\Username]是Windows身份验证登录名的格式;你使用它登录到东西,其中一个是SQL Server
  2. [Username] = The userName I want - 我希望如此,它应该存在于您的域中,或者如果域名是计算机名称,那么它必须存在于您的计算机上
  3. sp_addrolemember是一个为您的用户分配角色的存储过程;角色可以是例如数据库级角色,例如db_ownerdb_datareaderdb_datawriter ...
  4. 看看3。
  5. 如果我在MyComputer上有用户MyUser,我会把MyComputer \ MyUser;如果我在MyDomain上有用户MyUser,我会把MyDomain \ MyUser