虽然通过注册表可以控制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加密。
评论加载中…
![]() |