6.4 用户

6.4 用户


6.4.1 数据库用户

  用户用于对数据库进行访问。

  数据库默认的用户有以下4个用户,不可以修改或删除这些默认的用户:

(1) dbo

  通常 sa 登录名、sysadmin 角色的成员、数据库的拥有者被映射为 dbo 用户。


(2) guest

  数据库的 guest 用户默认为 public 角色。仅允许登录,但没有访问数据库的用户帐户。

  在用户数据库中,默认被禁用。如果为guest帐户授予 CONNECT 权限,则可以启用。


(3) INFORMATION_SCHEMA

  在用户数据库中,默认被禁用。


(4) sys

  在用户数据库中,默认被禁用。



6.4.2 基于登录名的用户

  最常见的用户是基于 master 数据库中登录名的用户,有以下一些具体的类型。

(1)基于 Windows 用户的登录名的用户。

(2)基于 Windows 组的登录名的用户。

(3)基于 Windows 组成员的登录名的用户。这类 Windows 主体可以没有登录名,但可以通过 Windows 组(包括嵌套的组)中的成员身份连接到数据库引擎。

(4)基于使用 SQL Server 身份验证的登录名的用户。


  通过 SSMS 可以创建“Windows 用户”(必须带登录名)或者“带登录名的 SQL 用户”。

wKioL1aGP2jg2KzOAACYbOXUMHc747.png


wKiom1aGQsTSXIYXAACJkY8Up9s007.png


  T-SQL 语法示例如下:

CREATE USER [Domain1\WindowsUser1]

CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUser1

CREATE USER [Domain1\WindowsGroupManagers]

CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]

CREATE USER SQLAUTHLOGIN1

CREATE USER SQLAUTHLOGIN1 FOR LOGIN SQLAUTHLOGIN1


  CREATE USER 语句中, FOR 子句与 FROM 子句可以相互替代。以下语句具有相同的作用。

CREATE USER [Domain1\WindowsUser1] FOR LOGIN Domain1\WindowsUser1

CREATE USER [Domain1\WindowsUser1] FROM LOGIN Domain1\WindowsUser1



6.4.3 在数据库进行身份验证的用户

  在包含数据库中,可以直接在数据库中进行身份验证,而无需登录名。包括基于无登录名的 “Windows 用户”(或 Windows 组用户)、“带密码的 SQL 用户”。

wKiom1aGRcCxUnJaAACM1blbS6A821.png


  T-SQL 语法示例如下:

CREATE USER [Domain1\WindowsUser1]

CREATE USER [Domain1\WindowsGroupManagers]

CREATE USER DbUser1 WITH PASSWORD = 'Password123' 


  在创建此类用户时,不仅授予用户对当前数据库的访问权限,并且还将授予对数据库引擎的新访问权限。但是在登录到数据库引擎时必须指定连接的数据库名称,否则登录失败。例如,在 SSMS 的“连接到服务器”对话窗口,必须单击“选项”按钮,然后在“连接属性”选项卡中为“连接到数据库”指定数据库名称。

wKioL1aGRtaRhO84AAA0MN2zwCQ326.png


wKioL1aGRtawT7N8AABES65Zyjc145.png


wKiom1aGRraj_Ch_AABhAfndozY843.png



本文出自 “SQLServer2014丛书” 博客,谢绝转载!

你可能感兴趣的:(用户)