安全控制:在数据库应用系统的不同层次进行有意或者无意的损害行为的安全防范。
一、SQL安全控制过程
- 第一个过程: 确认用户是否是数据库服务器用户的合法账户。
【验证连接权】
- 第二个过程: 确认用户是否是某一个数据库的合法访问者。
【验证数据库的访问权】
- 第三个过程: 确认用户是否具有合适的操作权限。
【验证操作权】
二、登陆名
身份验证模式
- windows 身份验证模式
使用以登陆windows的用户,可以直接登陆Sql Server
- Sql Server验证模式
需要创建一个Sql Server用户。
以上是使用图形界面来创建登陆名,下面我们使用T-SQL来创建一个登陆名
// 创建sql用户
1> CREATE LOGIN sql_user1 WITH PASSWORD = 'zjj19970517'
2> go
// 创建windows用户
CREATE LOGIN [zjj\win_user1] FORM WINDOWS
// 初次登陆需要进行密码修改
CREATE LOGIN sql_user2 WITH PASSQORD = '123456' MUST_CHANGE;
// 删除
DROP LOGIN sql_user1
三、数据库用户
use Worker
go
CREATE USER sql_user1
//为worker数据库创建一个sql_user1用户名,同登陆名
CREATE USER ZJJ FOR LOGIN sql_user2;
// 登陆名是sql_user2
// 用户名是ZJJ
// 删除数据库用户
DROP USER sql_user1
四、权限管理
1. 权限分类
- 对象权限
- 语句权限
- 隐含权限
- 对象权限
对表和视图的进行SELECT
INSERT
DELETE
UPDATE
的权限。 - 语句权限
对对象的创建语句的权限
CREATE TABLE
CREATE VIEW
CREATE PROCEDURE
CREATE FUNCTION
- 隐含权限
比如数据库的创建者,拥有对这个数据库的全部操作权
2. 数据库用户的分类
- 系统管理员
- 数据库对象拥有着
- 普通用户
3. 权限管理
- 授予权限
- 收回权限
- 拒绝权限
// 授予
GRANT SELECT ,INSERT ON SC TO user
// 收回
REVOKE SELECT ON FROM user1
// 拒绝
DENY UPDATE ON SC TO user1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。