保护SQL Server的十个步骤
数据库第四章——数据库安全性

输入密码
SQL Server 2005密码复杂性策略: 1. 不得包含全部或部分(>=3)用户帐号名; 2. 长度至少6个字符; 3. 密码包含4类字符:英文大写字母、小写 字母、10个基本数字,非字母字符(!@等)
19
An Introduction to Database System
5
An Introduction to Database System
数据的安全性是指保护数据以防止因不合法的使用而 数据的安全性是指保护数据以防止因不合法的使用而 造成数据的泄露、更改和破坏。 造成数据的泄露、更改和破坏。这就要采取一定的安 全措施。 全措施。 数据库的安全性和计算机系统的安全性,包括计算机 数据库的安全性和计算机系统的安全性, 硬件、操作系统、网络系统等的安全性,是紧密联系、 硬件、操作系统、网络系统等的安全性,是紧密联系、 相互支持的。 相互支持的。
输入用户名 kk
输入密码
SQL Server 2000密码复杂性策略: 2000密码复杂性策略 密码复杂性策略: 1. 不得包含全部或部分(>=3)用户帐号名; 不得包含全部或部分(>=3)用户帐号名; 2. 长度至少6个字符; 长度至少6个字符; 3. 密码包含4类字符:英文大写字母、小写 密码包含4类字符:英文大写字母、 字母、10个基本数字 非字母字符(! 个基本数字, (!@ 字母、10个基本数字,非字母字符(!@等)
14
An Introduction to Database System
删除Windows NT认证模式登录账号
步骤如下: 步骤如下: 以系统管理员身份进入企业管理器,并展开目录树; (1) 以系统管理员身份进入企业管理器,并展开目录树; 在目录树的“登录名” 节点下, (2) 在目录树的“登录名” 节点下,选中待删除的名称 wfy\wfytest” “wfy\wfytest”
SQLServer2008数据库备份与恢复

SQLServer2008数据库备份与恢复数据库备份和恢复是数据库管理中至关重要的任务,它们保证了数据的可靠性和安全性。
在使用SQL Server 2008进行数据库备份和恢复时,我们需要了解相关的操作步骤和技巧。
本文将为您介绍SQL Server 2008数据库备份和恢复的方法。
一、数据库备份数据库备份是指将数据库的数据、日志和文件备份到非原始数据库的操作。
通过备份操作,我们可以在出现故障或数据丢失的情况下,快速恢复数据库。
下面是SQL Server 2008数据库备份的步骤:1. 打开SQL Server Management Studio(SSMS),连接到目标数据库服务器。
2. 在SSMS左侧的“对象资源管理器”中展开“数据库”节点,选中要备份的数据库。
3. 右键点击选中的数据库,选择“任务” > “备份”。
4. 在备份对话框中,选择“数据库”选项卡,确保已正确选择了要备份的数据库。
5. 在“设置”选项卡中,设置备份文件的名称、位置和类型。
可以选择完整备份、差异备份或事务日志备份。
6. 点击“确定”按钮,开始执行备份操作。
7. 备份完成后,可以在备份文件所在的位置验证备份文件是否生成成功。
二、数据库恢复数据库恢复是指将备份的数据库还原到原始数据库或新数据库的操作。
通过恢复操作,我们可以在数据库损坏或丢失时,恢复到最近的备份点。
下面是SQL Server 2008数据库恢复的步骤:1. 打开SSMS,连接到目标数据库服务器。
2. 在SSMS左侧的“对象资源管理器”中展开“数据库”节点,找到要进行恢复的数据库。
3. 右键点击选中的数据库,选择“任务” > “还原” > “数据库”。
4. 在还原对话框中,选择“一般”选项卡,确保已正确选择了要还原的数据库。
5. 在“来源”选项卡中,选择备份文件的位置和名称,选择要还原的备份文件。
6. 在“选项”选项卡中,可以选择覆盖现有数据库,或将数据库还原到新的位置。
sql managementstudio 2008

SQL Management Studio 2008是微软推出的一款数据库管理工具,它为SQL Server提供了全面的管理、开发和配置功能。
作为数据库管理员或开发人员,熟练掌握SQL Management Studio 2008是非常重要的,因为它可以帮助我们更高效地管理和维护数据库,提高工作效率。
下面将从几个方面介绍SQL Management Studio 2008的功能和使用方法,希望对大家有所帮助。
一、安装和配置1. 下载安装包我们需要下载SQL Management Studio 2008的安装包,可以在微软冠方全球信息站上找到并进行下载。
2. 安装软件下载完成后,双击安装包,按照提示进行安装。
安装过程中需要选择安装路径、接受许可协议等步骤,按照默认设置进行即可。
3. 配置连接安装完成后,我们需要配置连接数据库的参数,包括服务器名称、身份验证方式等。
在连接成功后,我们就可以开始使用SQL Management Studio 2008了。
二、主要功能1. 查询和分析SQL Management Studio 2008提供了强大的查询和分析功能,可以帮助我们快速编写和运行SQL查询语句,并对查询结果进行分析和可视化展示。
2. 数据库管理通过SQL Management Studio 2008,我们可以方便地管理数据库,包括创建、删除、备份、还原等操作。
还可以对数据库对象进行管理,如表、视图、存储过程等。
3. 开发和调试作为开发人员,SQL Management Studio 2008还提供了丰富的开发和调试功能,包括编写存储过程、触发器,进行调试和性能优化等。
4. 安全性管理数据库的安全性是非常重要的,SQL Management Studio 2008可以帮助我们管理用户、角色、权限等安全性相关的配置,确保数据库的安全性。
5. 可视化管理SQL Management Studio 2008提供了直观的用户界面,可以通过图形化界面进行大部分操作,使得管理数据库变得更加简单和直观。
sql server create view语句

SQL Server 是一种关系型数据库管理系统,它使用 SQL(Structured Query Language)进行数据管理和操作。
在 SQL Server 中,使用“视图”(view)可以简化复杂查询的操作,提高查询的可读性和复用性。
下面将介绍 SQL Server 中创建视图的语句和步骤。
一、视图的概念视图是一个虚拟的表,它是通过查询语句获得的,没有实际的存储空间。
视图可以包含来自一个或多个表的字段,也可以是其他视图的结果。
通过视图,可以将复杂的查询和多个表的连接操作封装成一个逻辑单元,简化查询和应用程序的开发。
二、创建视图的语法在 SQL Server 中,使用 CREATE VIEW 语句来创建视图。
CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;其中,view_name 是视图的名称,column1、column2 等是视图的字段,table_name 是视图所对应的表,condition 是筛选条件。
举例来说,如果要创建一个包含学生尊称和成绩的视图,可以使用如下的语句:CREATE VIEW Student_Scores ASSELECT , Scores.ScoreFROM StudentINNER JOIN ScoresON Student.ID = Scores.ID;这个语句会创建一个名为 Student_Scores 的视图,包含了学生尊称和成绩两个字段,以及从 Student 表和 Scores 表中获取数据的查询逻辑。
三、创建视图的步骤要创建视图,一般需要以下几个步骤:1. 设计视图:确定视图所需要包含的字段,以及与之关联的表和查询逻辑。
2. 编写 CREATE VIEW 语句:根据设计,编写创建视图的 SQL 语句,包括视图的名称、字段和查询逻辑。
迁移SQL Server 维护计划

迁移SQL Server 维护计划
一在需要迁移的服务器中导出维护计划
1.单击**“开始”**,指向Microsoft SQL Server,然后单击SQL Server Management Studio。
2.在**“连接到服务器”**对话框中,设置以下选项:
在**“服务器类型”框中,选择“Integration Services”**。
3.点击连接,展开--已存储的包--MSDB--Maintenance Plans
4.右键包--导出包
5.指定存放路径名称,确定之后完成导出
二导入维护计划
1.单击**“开始”**,指向Microsoft SQL Server,然后单击SQL Server Management Studio。
2.在**“连接到服务器”**对话框中,设置以下选项:
在**“服务器类型”框中,选择“Integration Services”**。
3.点击连接,展开--已存储的包,右键Maintenance Plans导入包
4.选择包确定完成导入
5.连接导入所在服务器的数据库引擎
6.展开--管理--维护计划--双击导入的维护计划
7.迁移的维护计划并没有把作业也迁移过来,可以看到子计划中显示是【未计划】状态
8.单击红框处的小日历图标,设置计划任务执行时间
9.保存维护计划后自动生成作业
10.至此迁移完成。
第十一章 SQL Server数据库应用开发技术

11.3 服务器登录管理
11.3.2 Windows组或用户登录管理
1.将Windows组或用户映射成SQL Server的登录帐户 命令格式: sp_grantlogin <域名\用户名>|<域名\组名> 说明:
<域名\用户名>:为Windows NT 用户创建一个登录账户。
<域名\组名>:为指定的组建立一个登录账户。该组中每个成员都能 连接到SQL Server上。
返回目录
11.3 服务器登录管理
11.3.3 创建登录账户
1.使用SQL Server Management Studio创建登录帐户 【例11.5】 创建以Windows身份认证的登录账户 1)在Windows下创建一个名为“Win_login_01”,密码为 “w001”的用户。 2)打开SQL Server Management Studio。 3)在“对象资源管理器中”展开服务器。 4)展开“安全性”,右键单击“登录名”,然后选择“新建登录名” 选项,打开如图11.5所示的“登录名-新建”窗口。 5)单击“登录名”文本框右边的“搜索”按钮,打开如图11.6所示 的“选择用户或组”对话框。
11.3.3 创建登录账户
1.使用SQL Server Management Studio创建登录帐户 【例11.4】创建以SQL Server身份认证的登陆帐户 11)在左上角的“选择页”列表中选中“状态”,将“是否允许连接 到数据库引擎”设置为“授予”,“登录”设置为“启用”。 12)单击“确定”按钮完成操作。
第11章 数据库安全管理
知识技能目标:
1.理解SQL Server 2005安全机制和身份验证 模式 2.掌握服务器登录帐号的创建和删除 3.掌握数据库用户的创建和删除 4.理解角色概念,掌握服务器角色和数据库角色的 管理 5.掌握权限的授予、拒绝和废除
浅谈如何提高SQL Server的安全性
仅 仅启 动 一个 进 程 , 每 个 用 户 有 各 自的 线 程 , 种 结 构 需 要 的 资 源 是一 个 上 锁 的机 房 , 而 这 配备 有 洪 水 检 测 以 及火 灾 检 测, 防 系 统 。 消
比多进程系统少 得多 。因此 Mi oo Q evr 用很广 泛 . 对数 c sfS LS re应 r t 从
【 关键词 】 数据库;Q evr提 高; S LSre; 安全性 ; 访问; 备份
随着 计 算 机 技 术 的 飞 速 发 展 , 据 库 的 应 用 十 分 广 泛 , 入 到 各 有 数 据 , 期 备 份 数 据 库 , 将 副 本 保 存 在 安 全 的站 点 外 地 点 是 最 稳 数 深 定 并 个 领 域 。 Mi oot Q evr 运 行 在 Mi oot n o sN c sf S LSre 是 r c sfWidw T上 的 一 妥 的 防 止 磁 盘 故 障 ( 要 是 系统 发 生 故 障) r 主 的方 法 , 能有 效 的恢 复 数 它 个 高性 能 数 据 库 管 理 系 统 , 它基 于 多线 程 的客 户 , 务 器 体 系 结 构 , 服 这 据 , 是 一 种 最 简 单 的确 保 能 恢 复 大 部 分信 息 的方 法 。 这
身份 验 证 的服 务器 上 也该 如 此 。 将 保 证 在 以 后服 务 器 被 重 新配 置 为 这
1 安 装 最新 的服 务 包
混合 模 式 身 份 验 证 时 , 会 出现 空 白或 脆 弱 的 s。要 分 配 s 不 a a密码 , 可 提 高 S LSre 安 全 性 , 最 有 效 的 一 个 方 法 就 是 升 级 到 S L 按 下列 步 骤 操 作 : Q e r v Q ( ) 开 服 务 器组 , 后 展 开 服 务器 。 1展 然 () 开安全性 , 2展 然后 点 击 登 录 。 ( ) 细 节 窗 格 中 , 键 点 击 S 然后 点 击 属 性 。 3在 右 A, () 密码方框中, 入新的密码。 4在 输
SqlServer使用MSDTC的设置
SqlServer使⽤MSDTC的设置 第⼀次写博客,⽂笔有限,写的不好还望各位⼤佬多多指教。
对于这个问题,也有很多的⼤佬写过,不过我⾃⼰去配置的时候遇到过很多的问题,所以我打算发帖尽可能写的详细。
⼀、防⽕墙设置1. msdtc 通过防⽕墙设置防⽕墙关闭状态下可以不⽤看防⽕墙设置!防⽕墙关闭状态下可以不⽤看防⽕墙设置!防⽕墙关闭状态下可以不⽤看防⽕墙设置!打开我的电脑 -> 控制⾯板 -> 系统和安全 -> Windows Defender 防⽕墙 -> 允许应⽤或功能通过 Windows Defender 防⽕墙如下图快速通道 : win + E 输⼊控制⾯板\系统和安全\Windows Defender 防⽕墙回车选择 "允许应⽤或功能通过 Windows Defender 防⽕墙"整体预览图整体预览图整体预览图详细步骤图详细步骤图详细步骤图2. 防⽕墙端⼝设置打开控制⾯板\系统和安全\Windows Defender 防⽕墙\⾼级设置例⼦:设置SQL SERVER 的出⼊站规则,如果要配置其他的端⼝的出⼊站规则,请参照下⽅图解⼊站规则设置右键⼊站规则 -> 新建规则(如下图)出站规则右键出站规则 -> 新建规则(如下图)⼆、组件设置 打开组件服务 win + r 输⼊%windir%\system32\comexp.msc 保证DTC登陆账户为:NT Authority\NetworkService三、服务 记得重启Distributed Transaction Coordinator服务四、NetBIOS查看NetBIOS win + R 输⼊cmd 在输⼊ nbtstat -n电脑名称IP操作系统DESKTOP-54DPDBN192.168.1.150Windows1(SQL Server1)DESKTOP-9K9J8VA192.168.1.200Windows2(SQL Server2)DESKTOP-K26J8BS 192.168.1.160Linux 1(SQL Server3)DESKTOP-ED42DBN 192.168.1.170 Windows3(My SQL)为了确保 ping 电脑名能 ping通需要修改Hosts ⽂件(两台电脑都需要修改hosts⽂件)如果有地⽅没有写详细⿇烦在下⽅评论区留⾔或进QQ群(588143216)⼀起交流。
sql server 2008 数据库应用与开发教程 课后习题参考答案
SQL Server 2008数据库应用与开发教程(第二版)第一章习题参考答案1.简述SQL Server 2008系统中主要数据库对象的特点。
答:主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。
“表”节点中包含了数据库最基本、最重要的对象——表。
表实际用来存储系统数据和用户数据,是最核心的数据库对象。
“视图”节点包含了数据库中的视图对象。
视图是一种虚拟表,用来查看数据库中的一个或多个表,视图是建立在表基础之上的数据库对象,它主要以SELECT语句形式存在。
在“同义词”节点中包含了数据库中的同义词对象。
这是Microsoft SQL Server 2008系统新增的一种对象。
“可编程性”对象是一个逻辑组合,它包括存储过程、函数、触发器、程序集、类型、规则和默认值等对象。
数据库中的函数对象包含在“函数”节点中。
函数是接受参数、执行复杂操作并将结果以值的形式返回的例程。
2.SQL Server 2008数据库管理系统产品分为哪几个版本,各有什么特点?答:SQL Server 2008数据库管理系统产品的服务器版本包括了企业版和标准版,专业版本主要包括以下版本:工作组版(Workgroup)、开发人员版(Developer)、免费精简版(Express)、Web版,以及免费的集成数据库SQL Server Compact 3.5。
3.SQL Server 2008包含哪些组件,其功能各是什么?答:SQL Server 2008的体系结构是对SQL Server的组成部分和这些组成部分之间的描述。
Microsoft SQL Server 2008系统由4个组件组成,这4个组件被称为4个服务,分别是数据库引擎、Analysis Services、Reporting Services和Integration Services。
数据库引擎是Microsoft SQL Server 2008系统的核心服务,负责完成数据的存储、处理、查询和安全管理等操作。
SQL Server连接失败中的四个最常见错误
连接失败,请检查SQL注册属性SQL Server连接中的四个最常见错误:一."SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接=============ping <服务器IP地址/服务器名称>如果ping <服务器IP地址>不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.防火墙软件可能会屏蔽对ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.如果ping <服务器IP地址>成功而,ping <服务器名称>失败则说明名字解析有问题,这时候要检查DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc). 添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.============= 其次,使用telnet 命令检查SQL Server服务器工作状态=============telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server 服务器工作正常,并且正在监听1433端口的TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server 服务,也可能服务器端没启用TCP/IP 协议,或者服务器端没有在SQL Server 默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等=============可以利用SQL Server 自带的服务器网络使用工具来进行检查.点击:程序-- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及TCP/IP 协议.点中TCP/IP 协议,选择"属性",我们可以来检查SQK Server 服务默认端口的设置一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置=============我们同样可以利用SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序-- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及TCP/IP 协议.点击TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS 文件有相似之处.通过以上几个方面的检查,基本上可以排除第一种错误.-----------------------------------------------------------------------------二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server操作步骤:在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQL Server注册属性--选择"使用windows身份验证"--选择"使用SQL Server身份验证"--登录名输入:sa,密码输入sa的密码--确定2.设置允许SQL Server身份登录操作步骤:在企业管理器中--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称--选择"属性"--再选择"安全性"选项卡--在"身份验证"下,选择"SQL Server和Windows ".--确定,并重新启动SQL Server服务.在以上解决方法中,如果在第 1 步中使用"使用Windows 身份验证"连接SQL Server 失败,那就通过修改注册表来解决此问题:1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]3.在屏幕右方找到名称"LoginMode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server.这是因为在SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators<机器名>\Administrator 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators"5.点击"确定"退出6.使用同样方法添加<机器名>\Administrator 登录.说明:以下注册表键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginM ode的值决定了SQL Server将采取何种身份验证模式.1.表示使用"Windows 身份验证"模式2.表示使用混合模式(Windows 身份验证和SQL Server 身份验证).-----------------------------------------------------------------------------三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet 上的服务器,并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:企业管理器中的设置:1.在企业管理器中,选择菜单上的"工具",再选择"选项"2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20.查询分析器中的设置:工具-- 选项-- 连接-- 将登录超时设置为一个较大的数字---------------------------------------------------------------------------------四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?回复人:leimin(黄山光明顶)这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE的顺序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这里介绍了为提高 SQL Server 安装的安全性,您可以实施的十件事情:
1.安装最新的服务包。
为了提高服务器安全性,最有效的一个方法就是升级到 SQL Server 2000 Service Pack 3a (SP3a)。
另外,您还应该安装所有已发布的安全更新。
2.使用 Microsoft 基线安全性分析器(MBSA)来评估服务器的安全性。
MBSA 是一个扫描多种 Microsoft 产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL
Server 2000 Desktop Engine (MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题
对 SQL Server 安装进行检测:
1) 过多的sysadmin固定服务器角色成员。
2) 授予sysadmin以外的其他角色创建 CmdExec 作业的权利。
3) 空的或简单的密码。
4) 脆弱的身份验证模式。
5) 授予管理员组过多的权利。
6) SQL Server数据目录中不正确的访问控制表(ACL)。
7) 安装文件中使用纯文本的sa密码。
8) 授予guest帐户过多的权利。
9) 在同时是域控制器的系统中运行SQL Server。
10) 所有人(Everyone)组的不正确配置,提供对特定注册表键的访问。
11) SQL Server 服务帐户的不正确配置。
12) 没有安装必要的服务包和安全更新。
Microsoft 提供 MBSA 的免费下载。
3.使用 Windows 身份验证模式。
在任何可能的时候,您都应该对指向 SQL Server 的连接要求 Windows 身份验证模式。它通过限制对
Microsoft Windows®用户和域用户帐户的连接,保护 SQL Server 免受大部分 Internet 的工具的侵害,
而且,您的服务器也将从 Windows 安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂
性和过期时间。另外,凭证委派(在多台服务器间桥接凭证的能力)也只能在 Windows 身份验证模式中
使用。在客户端,Windows 身份验证模式不再需要存储密码。存储密码是使用标准 SQL Server 登录的应
用程序的主要漏洞之一。
要在 SQL Server 的 Enterprise Manager(企业管理器) 安装 Windows 身份验证模式,请按下列步骤操作:
1) 展开服务器组。
2) 右键点击服务器,然后点击属性。
3) 在安全性选项卡的身份验证中,点击仅限 Windows。
4.隔离您的服务器,并定期备份。
物理和逻辑上的隔离组成 了SQL Server 安全性的基础。驻留数据库的机器应该处于一个从物理形式
上受到保护的地方,最好是一个上锁的机房,配备有洪水检测以及火灾检测/消防系统。数据库应该安装在
企业内部网的安全区域中,不要直接连接到 Internet。定期备份所有数据,并将副本保存在安全的站点外地
点。
5.分配一个强健的sa密码。
sa帐户应该总拥有一个强健的密码,即使在配置为要求 Windows 身份验证的服务器上也该如此。这
将保证在以后服务器被重新配置为混合模式身份验证时,不会出现空白或脆弱的sa。
要分配sa密码,请按下列步骤操作:
1) 展开服务器组,然后展开服务器。
2) 展开安全性,然后点击登录。
3) 在细节窗格中,右键点击SA,然后点击属性。
4) 在密码方框中,输入新的密码。
6.限制 SQL Server服务的权限。
SQL Server 2000 和 SQL Server Agent 是作为 Windows 服务运行的。每个服务必须与一个 Windows
帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa 登录的用户(有时也包括其他用户)
来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务
器被攻破了,那么这些操作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程(SQL Server
服务帐户)可以对其进行访问。因此,为 SQL Server 服务仅授予必要的权限是十分重要的。
我们推荐您采用下列设置:
1) SQL Server Engine/MSSQLServer
如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows
域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。
2) SQL Server Agent Service/SQLServerAgent
如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。
不要作为本地系统、本地管理员或域管理员帐户来运行。
重点: 如果下列条件之一成立,那么 SQL Server Agent 将需要本地 Windows管理员权限:
SQL Server Agent 使用标准的 SQL Server 身份验证连接到SQL Server(不推荐)。
SQL Server Agent 使用多服务器管理主服务器(MSX)帐户,而该帐户使用标准 SQL Server 身份
验证进行连接。
SQL Server Agent 运行非sysadmin固定服务器角色成员所拥有的 Microsoft ActiveX®脚本或
CmdExec 作业。
如果您需要更改与 SQL Serve r服务相关联的帐户,请使用 SQL Server Enterprise Manager。Enterprise
Manager 将为 SQL Server 所使用的文件和注册表键设置合适的权限。不要使用 Microsoft 管理控制台的"
服务"(在控制面板中)来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限
以及Micorsoft Windows用户权限。
帐户信息的更改将在下一次服务启动时生效。如果您需要更改与 SQL Server 以及 SQL Server Agent
相关联的帐户,那么您必须使用 Enterprise Manager 分别对两个服务进行更改。
7.在防火墙上禁用 SQL Server 端口。
SQL Server 的默认安装将监视 TCP 端口 1433 以及UDP端口 1434。配置您的防火墙来过滤掉到达
这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。
8.使用最安全的文件系统。
NTFS 是最适合安装 SQL Server 的文件系统。它比 FAT 文件系统更稳定且更容易恢复。而且它还包
括一些安全选项,例如文件和目录 ACL 以及文件加密(EFS)。在安装过程中,如果侦测到 NTFS,SQL
Server 将在注册表键和文件上设置合适的 ACL。不应该去更改这些权限。
通过 EFS,数据库文件将在运行 SQL Server 的帐户身份下进行加密。只有这个帐户才能解密这些文
件。如果您需要更改运行 SQL Server 的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户
下重新进行加密。
9.删除或保护旧的安装文件。
SQL Server 安装文件可能包含由纯文本或简单加密的凭证和其他在安装过程中记录的敏感配置信息。
这些日志文件的保存位置取决于所安装的SQL Server版本。在 SQL Server 2000 中,下列文件可能受到影
响:默认安装时
的
sqlsp.log和setup.iss
如果当前的系统是从 SQL Server 7.0 安装升级而来的,那么还应该检查下列文件:%Windir% 文件夹
中的setup.iss以及Windows Temp文件夹中的sqlsp.log。
Microsoft发布了一个免费的实用工具 Killpwd,它将从您的系统中找到并删除这些密码。
10.审核指向 SQL Server 的连接。
SQL Server 可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的 SQL Server 连接尝
试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。
要在 SQL Server 的 Enterprise Manager 中审核失败连接,请按下列步骤操作:
1) 展开服务器组。
2) 右键点击服务器,然后点击属性。
3) 在安全性选项卡的审核等级中,点击失败。
4) 要使这个设置生效,您必须停止并重新启动服务器。