这是一句转折句:虽然十分不情愿,但本文档将在近期不断更新。

系统环境:Windows Server 2003 Enterprise SP2、SQL Server 2000

一、SQL Server 的连接方式

安装完成后默认两种连接方式:TCP/IP 与命名管道。就我个人的理解,前者适用各种网络环境,后者适用本机 ODBC 调用。由于调用 SQL Server 的服务端服务器与数据库服务器在同一机房、同一机柜、同一交换机中,我只使用 TCP/IP 作为唯一连接方式。

二、关于 SQL Server 的端口

SQL Server 默认监听 TCP/1433 端口,在服务端实用工具中设置数据库隐藏模式后将自动改变监听端口为 TCP/2433。隐藏模式使得客户端无法枚举数据库网络连接,也可以自行设定监听的端口,效果与设置隐藏模式雷同。

三、关于用户权限

我的个人建议是给 sa 加上一个一万年都无法暴力破解掉的密码,然后记录到某个密码管理软件里封存,然后从脑海中将这个密码忘记。关于密码管理软件,我也用过不少。目前习惯使用 Password Agent,虽然不是中文版本,但总比那些号称是“共享软件”的国产软件好。

不要使用 Windows 身份验证去访问数据库,忘记 sa 的存在之后,分别建几个用户用于管理相应的库,并赋予它们尽可能小的权限。权限不在大,只要够用就好。对于 db_owner,慎重赋予。一般而言,对于一个库的操作可以分开多个权限不同的用户,用于在不同场合执行不同的操作权限。

四、数据库维护计划

这是一项受人喜爱的功能。开启 SQL Agent 之后就可以在企业管理器中添加数据库维护计划。我习惯建立两种维护计划,一种用于对数据库进行优化,包括索引的重新整理以及对数据库数据文件与日志文件的容量收缩;一种用于对数据库数据与事务进行备份。

最近遇到一个磁盘空间瓶颈的问题,使得数据库备份只能限制在一周以内。打算采用 Windows 批处理、WinRAR 命令行加 FTP 命令的方式在设置的时间将本地数据库备份文件打包,并自动传送到另一台提供 FTP 服务的计算机上。为了避免网络带宽消耗甚至数据阻塞,建议在内网中进行该操作。

标签: sql, security, optimize

添加新评论