1.SQL Server的认证模式
在安装过程中,必须为数据库引擎选择身份验证模式。 可供选择的模式有两种:Windows 身份验证模式和混合模式。 Windows 身份验证模式会启用 Windows 身份验证并禁用 SQL Server 身份验证。 混合模式会同时启用 Windows 身份验证和 SQL Server 身份验证。 Windows 身份验证始终可用,并且无法禁用。
SQLServer支持的认证模式在安装时可以选择,安装完成后也可以通过SSMS(属性-安全性)修改:
2.登陆账号Login
通过SQL Server 身份验证方式登录SQLServer实例时,用户需要使用登录名连接到 SQL Server。
2.1创建账号
2.1.1General
通过SSMS,可以在Securty-Logins右键添加Login账号,选择SQL Server 身份验证方式
输入密码后下方有三个小框可以勾选:
1.Enforce password policy:强制实施密码策略,勾选后SQL Server将会应用windows的密码策略机制
2.Enforce password expiration:强制密码过期,勾选后SQL Server将会应用windows的密码过期机制
3.Use musqt change password at next login:用户在下次登录时必须更改密码,勾选后该用户下次登陆时SQL Server将提示需要修改密码。
注:查看本地密码策略方法:
Win+R打开运行,输入gpedit.msc打开本地策略编辑器,依次展开 计算机配置-Windows设置-安全设置-帐户策略-密码策略
2.1.2 Server Roles
创建完相应的登陆账号后,在Server Roles页面可以分配给其分配相应的服务器级别管理权限
SQL Server服务器级别的固定角色如下:
3.数据库用户User
登陆账号Login仅可以登录到SQLServer中,如果想要操作SQLServer中的数据库,还需要在所要操作的数据库中用有相应的数据库用户,否则是不能对这个数据库进行操作的。
3.1创建用户
3.1.1General
在SSMS中,选择想要操作的数据库,Securty-Users,选择新增用户
数据库的访问权限是通过映射数据库的用户与数据库的账号之间的账号关系来实现的,每个登录账号在一个数据库中只能有一个用户。
3.1.2 Membership
创建完相应的用户后,在Membership页面可以分配给其分配相应的数据库级别权限
SQL Server数据库级别的固定角色如下:
3.2特殊用户
每一个数据库被创建后都会存在两个特殊用户,分别是dbo和guest。
3.2.1dbo
数据库所有者对象,对应于创建该数据库的登陆账号,分配的角色为db_owner;
3.2.2guest
无用户账号登录使用数据库时所对应的用户,默认未分配任何权限;
当某个数据库的guest用户被授予db_owner角色后,就代表任何账号具有这个数据库的所有者权限,即使该账户在这个数据库并没有创建用户;
3.3孤立用户
所谓孤立用户即指在SQL Server实例上未定义或错误定义了其相应 SQL Server 登录账号的数据库用户,这种用户无法登录到实例,被称为此SQL Server实例上的数据库的“孤立用户”。
如删除了对应的 SQL Server 登录账号,则数据库用户可能会变为孤立用户。 另外,在数据库还原或附加到 SQL Server 的其他实例之后,数据库用户也可能变为孤立用户。 总而言之,未在服务器实例中提供数据库用户映射到的 SID,则该用户可能变为孤立用户。
通过以下SQL可以查看到当前库中的所有孤立用户:
exec sp_change_users_login 'REPORT'