SQL中登录名的创建
来源:互联网 发布:js实现地球仪效果 编辑:程序博客网 时间:2024/05/18 00:09
什么是数据库安全性?
简单地说,数据库系统安全性设计是为了防止数据库数据泄露,防止数据被任意修改或删除的设计,从而保证数据的安全可靠和正确有效性。
数据库系统主要通过以下几种方式来实现安全性控制:
1、用户身份鉴别
2、多层存取控制
3、审计
4、视图和数据加密
安全模式
SQL Server提供了两种不同的方法来认证用户进入服务器
1、Windows认证
2、SQL Server混合认证
使用企业管理器设置登录名
登录名,用来连接和登录数据库服务器,并具有相应的数据库访问权限,一个登录名可以映射到多个数据库。
一般我们进入数据库使用的是Windows验证方式,这种方式赋予了操作者所有的用户权限,现在需要设置一个登录用户,使用SQL Server登录方式,并对它的权限加以限制。
新建登录名的方法:用Windows验证方式登录后,在安全性中找到登录名,右键新建登录名,然后设置相关属性
以下是新建一个名为Teacher的SQL Server验证方式的登录名
我们可以将其同时映射到几个数据库中,那么Teacher这个登录名就对相应的数据库有访问的权限,而没有映射的数据库则不具有访问权限
我们还可以为这个登录名设置服务角色,服务器角色用于向用户授予服务器范围内的安全特权,可以同时为一个登录名设置多个角色。
下面是为teacher这个登录名设置新建数据库特权
服务器角色及其特权
在SQL Server中,一些存储过程提供了管理SQL Servers登录名的功能,主要包括:
sp_addlogin:创建新的使用SQL Server认证模式的登录名
sp_droplogin: 删除使用SQL Server认证模式的登录名,禁止其访问SQL Server
sp_helplogins:用来显示SQL Server 所有登录者的信息,包括每一个数据库里与该登录者相对应的登录名
sp_grantlogin: 设定一WIinodws用户或用户组为SQL Server 登录者
sp_revokelogin:用来删除Windows用用户或用户组在SQL Server 上的登录信息
sp_denylogin:拒绝某一Windows用户或用户组连接到SQL Server
USE master/*创建一个登录用户:登录名是test_login,密码是123,登录缺省数据库是TS*/exec sp_addlogin test_login,'123','TS'/*显示登录者test_login的信息*/exec sp_helplogins @LoginNamePattern='test_login'/*删除登录这test_login的信息*/exec sp_droplogin 'test_login'/*设定一Windows用户或用户组为SQL Server登录者,这里的用户必须是Windows用户*/exec sp_grantlogin 'YZ-XCM\YZ'/*删除windows用户或用户组在SQL Server上的登录信息*/exec sp_revokelogin 'YZ-XCM\YZ'/*拒绝Windows 用户登录到SQL Server*/exec sp_denylogin 'YZ-XCM\YZ'
下面是基于学生数据库Student的登录名创建及相关授权的定义
/*创建teacher登录名*/USE masterGOCREATE LOGIN teacher WITH PASSWORD ='123'GO /*创建数据库用户名*/USE StudentCREATE USER PubUser FOR LOGIN teacher GO /*为用户PubUser赋予表Student查看、插入、删除的权限*/USE StudentGRANT SELECT,INSERT,DELETEON StudentTO PubUser /*回收用户PubUser对表Student的删除权限*/USE StudentREVOKE DELETE ON StudentFROM PubUser /*创建student登录名,密码为123,默认数据库为Student*/USE masterGOEXEC sp_addlogin student,'123','Student' /*CREATE LOGIN student WITH PASSWORD ='123' */EXEC sp_addsrvrolemember 'student', 'sysadmin'; /*将其加入sysadmin角色中*/EXEC sp_grantdbaccess 'student', 'USER3' /*将其加入Student数据库用户中*/GO --授予他在student数据库中创建视图、创建表的权限USE StudentGRANT CREATE VIEW,CREATE TABLETO student --授予他对student数据库中的study表具有所有权限,且可将这些权限授予他人GRANT ALL PRIVILEGESON StudyTO studentWITH GRANT OPTION --撤销他对student数据库中的study表的修改权限REVOKE UPDATEON StudyFROM student --禁止他对student数据库中的study表的删除权限DENY DELETE ON SC to student
- SQL中登录名的创建
- SQL server 创建登录名
- sql server 2008 创建登录名
- 在sql server创建登录名root
- sql server 创建命令行登录名等
- SQL数据库中登录名和用户名的比喻关系
- 创建一个只读的登录名/用户名
- SQL Server 2008 如何创建一个登录名
- sql server 2005的登录名
- sql server 2005的默认登录名
- SQL Server2005中登录名、用户名、角色和架构之间的关系
- SQL server2005中如何创建登录密码
- SQL server2005中如何创建登录密码
- 创建 Windows 身份验证登录名
- 创建Windows身份验证的登录名时出现错误
- SQL 2012 Always On 为 MSCRMSqlClrLogin SQL 登录名创建非对称密钥时报语法错误
- SQL Server将数据库的用户名映射到登录名
- Sql Server用户名和登录名的关系总结
- JAVA实现快速排序
- C# Winform 窗体美化(三、不规则窗体)
- (ssl2290)潜水员(二维费用的背包)
- 关于MVC设计模式
- 网易笔试题
- SQL中登录名的创建
- java 键盘输入三个整数加入到集合中(加入的数不能跟集合中的元素重复)
- python shell快捷键集锦
- 打包
- 析构函数中调用析构函数的情况
- CodeForces 449D Jzzhu and Numbers
- aop注解配置、表达式
- 如何打造一个小而精的电商网站架构?
- 技术积累20170415(4)