SQL Server的有效安装
在身份验证模式对话框中,你可以选择是否只允许Windows身份验证登录(Windows身份验证模式)或者Windows和SQL Server两者登录(混合模式)。你也可以为sa(System Administrator)的SQL Server登录指定一个密码。Windows身份验证模式是默认的和最常用的推荐安全模式。然而,为安全起见,我建议你选择混合模式并且为sa账号提供一个密码,在安装完成和处理完一些其他的安全项目后,再把验证模式改为Windows身份验证模式。如果你选择Windows身份验证模式作为你的服务器的安全模式,安装过程把sa登录创建为无效并且没有密码(因为SQL Server身份验证模式是无效的)。你可以在安装后更改sa的密码——我强烈建议你这么做——但是一开始就选择Windows身份验证模式是危险的,因为你可能忘了更改密码或者使用空密码,以为sa已经失效。
无论你选择何种模式,安装程序都为BUILTIN\Administrators组创建一个Windows身份验证的登录,它映射到本地机器的管理员组。这个登录的创建意味着所有本地管理员组的成员,包括域组域管理员,都是你的SQL Server的系统管理员(sysadmin)角色的成员。给予网络和本地管理员在SQL Server上的毫无限制的权限并不总是一个好主意,因为这引入了安全风险,这样一来你可能决定从SQL Server 的sysadmin角色中移除BUILTIN\Administrators,或者你可能从SQL Server中完全移去这些自动创建的登录而为DBA成员组用sysadmin身份创建一个登录——不是网络管理员。
如果你决定遵从上述这些建议,这样做就够了:首先,为DBA成员组用sysadmin身份创建一个登录,然后删除BUILTIN\ Administrators登录。如果你的服务器的身份验证模式时Windows而且你在为DBA创建登录以前删除所有具有sysadmin资格的登录,你会发现你自己被锁在了SQL Server之外,无法执行管理任务——如:创建新的登录。如果你落入了这个陷阱,你仍然可以通过把注册表HKEY_LOCAL_MACHINE OFTWARE\Microsoft\Microsoft SQL Server\实例名\MSSQLServer\LoginMode的键值更改为2,来把SQL Server身份验证的模式改为混合模式,修改好后重新启动SQL Server服务即可。
虽然通过注册表可以控制SQL Server的登录模式是方便的,它也有个缺点。任何人只要具有编辑注册表键值的权限,包括网络和本地管理员,都可以更改SQL Server的身份验证模式。如果你用Windows身份验证模式来安装SQL Server,sa是失效的但是仍然具有一个空白的密码。如果接着你更改SQL Server身份验证模式到混合模式(这就使sa登录有效),任何人都可以作为sa登录。所以,绝对确保你一完成安装就更改sa密码或者在安装过程中选择混合模式并且为sa提供一个密码。
排序规则
接下来,你需要选择排序规则设置。SQL Server 2000中的排序规则(Collation)设置用来管理和语言相关的行为、对象名称和列的值的唯一性,以及排序规则(sorting rules)。在排序规则设置对话框里,你说明排序规则并在SQL Server排序规则和Windows排序规则两者之间选择其一。如果你需要和以前SQL Server版本的向后兼容性,选择SQL Server排序规则——比如,如果你打算在一个早期版本的SQL Server和SQL Server 2000之间使用复制。否则,选择Windows排序规则。SQL Server 2000的排序规则设置,不管是Windows或是SQL Server,合并了在先前版本中的3个独立的设置:字符集,排序次序和Unicode排序规则。除了整合旧的3个设置到一起外,SQL Server 2000在排序规则中还提供了比以前版本更为强大的灵活性。
在你安装SQL Server 2000时选择的排序规则决定了系统数据库的排序规则设置。要在安装后更该系统数据库的排序规则设置,你需要脚本化所有你的系统对象(比如:登录,消息,工作)并且运行rebuildm.exe,它用新的排序规则重建了所有的系统数据库。然而,你不必先导出用户数据库中的所有数据再在运行完 rebuildm.exe后把他们再导入——就像你再SQL Server 7.0中所作的那样。你只须重新连接用户数据库到SQL Server。你可以用不同于默认服务器的排序规则(这是模板系统数据库的)的排序规则配置你的用户数据库,或者甚至用不同于服务器设置的排序规则连接或恢复一个数据库。你可以以后修改用户数据库的默认排序规则。对于特定的一列,你可以指定不同于默认的数据库排序规则的一种排序规则;你甚至可以稍后修改列的排序规则——如果该列上没有创建索引的话。
虽然在排序规则方面SQL Server 2000是灵活的,不要低估了你在安装时作的选择。正如我前面所言,服务器的排序规则应用到所有的系统数据库并且决定了记录在系统数据库中所有对象(如登录名,数据库名)的排序规则。进一步而言,tempdb的排序规则也是你在安装过程中选择的服务器排序规则。当你创建一个临时表,表的列使用tempdb 的排序规则——除非你在每列的定义里指明COLLATE 数据库默认。
网络库
在说明了排序规则设置后,你来到了网络库对话框。网络库是客户机应用程序用来和SQL Server通讯的协议。客户机和SQL Server都必须有至少一个匹配的网络库,通过它两者可以通讯。在网络库对话框中,你设置SQL Server将会用来和客户机通讯的网络库。
在SQL Server 6.5中,只有命名管道和多协议允许Windows身份验证;所有其他网络库只允许SQL Server身份验证。这样一来,对于SQL Server 6.5来说,你想要支持的登录类型时你选择网络库的一个因素。进一步来说,只有多协议允许数据加密,所以如果你SQL Server 6.5支持数据加密,你就不得不选择这个网络库。在SQL Server 7.0中,所有网络库支持Windows身份验证,在这个意义上你就更加灵活,但是多协议仍然是唯一允许数据加密的网络库。
在SQL Server 2000里,你可以通过使用SQL Server 网络工具和SQL Server客户机网络工具的安全套接字层(Secure Socket Layer,SSL)来对所有网络库强制加密,这样一来,加密因素不再决定网络库的选择。同样,在SQL Server 2000里,多协议不支持命名实例方案(服务器名\实例名),这样的话,当你使用命名实例时,多协议也不是个好的选择。SQL Server 2000中最通用的网络库大概是TCP/IP套接字吧。它提供了良好的性能,允许Windows身份验证,而且你可以在需要时对它进行强制SSL加密。![]()
文章评论
共有 0人发表了评论 查看完整内容