SQL Server 数据库安全与物理结构解析
1. 数据库安全概述
数据库安全是一个广泛的话题。在单个 SQL Server 数据库中保护数据相对保护 SQL Server 本身要容易一些,因为通常我们主要防范的是普通用户,假设服务器已经具备基本的安全防护,能够抵御黑客等不应访问服务器的人员。
普通用户一般不会费力去破解数据库,因为被发现可能会导致失去工作,所以设置基本的安全措施通常就足够了。这就像更衣室的门,贴上男女标识就能阻止理性的异性进入,除了道德和潜在麻烦外,并没有实际的阻止手段。大多数业务用户会查看他们有权限访问的数据,但如果设置了简单的访问限制,他们通常不会违规。而对于那些违规的行为,DBA 和网络工程师需要在外部设置防护措施。
为了实现数据库安全,需要在数据库使用中设计以下安全策略:
- 基于权限的安全 :使用 SQL Server 2005 DDL 语句。
- SQL Server 安全基础 :了解 SQL Server 对象的安全机制,包括使用不同类型的主体,如用户、角色和应用程序角色。
- 表安全 :阻止用户访问他们不应访问的表。
- 列安全 :限制用户只能访问表的部分列。
- 使用编码对象 :
- 存储过程和标量函数 :为用户提供高级功能,同时不暴露实现细节。还涉及跨数据库和服务器的安全机制。
- 视图和表值函数 :以简单的方