SQL Server的有效安装

Tags: mssql

微软总是试图使它的软件安装尽可能地简单顺畅,SQL Server 2000的安装也不例外。你从安装光盘的x86 etup文件夹启动setupsql.exe、在安装对话框中填入一些细节后,几分钟内,安装将在没有用户介入的情况下继续执行。你甚至可以成功的安装SQL Server 2000而不用明白那些选择意味着什么——只需在大多数安装对话框中点击“下一步”。然而,我强烈建议你不要如此轻率地对待安装;留意每一个选项并且确保你完全理解你所作的每个选择的影响。一些低劣的决定,比如错误的排序规则设置,可能很难被修复;其他的,比如接受默认的身份验证模式,可能创建了安全漏洞


    让我们看一些有关标准安装的重点,包括实例配置、安全性、排序规则和网络库。然后让我们探索无人值守和远程安装的高级选项。

实例

当你开始安装时,经常执行标准安装(与远程或无人值守安装相比)。你调用setupsql.exe程序来启动安装向导。在开始的两个对话框——欢迎和机器名——之后,你需要对你的实例配置作选择。SQL Server 2000支持在一台机器上安装多个SQL Server的实例。安装程序显示两个对话框来给你安装实例的选项。

首先,安装选择对话框显示了让你选择是否安装一个新的实例或者升级一个已经存在的安装。如果你选择安装一个新的实例,你将看到“实例名对话框”显示出来。你可以指明一个实例名或选择默认来安装一个默认实例——如果默认实例还未安装在机器上。

在做有关安装实例的选择时你需要考虑几件事。如果机器上没有默认实例、你打算在同一台机器上使用SQL Server 2000和7.0,确信你没有将SQL Server 2000作为默认实例安装。SQL Server 7.0不支持命名实例,所以它必须成为默认实例。除了卸载和重新安装SQL Server,你不能把命名实例改为默认实例或者相反。你同样也不能在实例安装后更改实例名。然而,你可以在安装SQL Server 2000后再安装SQL Server 7.0——如果你还没有安装一个默认实例的话。

如果一个SQL Server 7.0的安装已经存在,你可以将它升级——通过在安装选择对话框中选择升级路径并在后一个对话框中说明你想要升级默认实例。然而,SQL Server 2000将成为默认实例,SQL Server 7.0在这台机器上将不复存在。要两个版本都保留,把SQL Server 2000作为一个命名实例来安装。

安装完SQL Server 2000后,你可以使用备份和恢复、分离和连接、数据转换服务或者复制数据库向导来把SQL Server 7.0的数据库调到SQL Server 2000中来。注意,当你升级一个先前的版本到SQL Server 2000时,无论选择何种方式,你不能对数据库同样的拷贝指明超过一个的安装,所以每个安装必须维护它自己的每个数据库拷贝。

另一个考虑涉及SQL Server 7.0被称为“版本切换”的特性,它让SQL Server 7.0与SQL Server 6.5共存于同一台机器。但是,同时只有一个安装可以是活动的,另一个是静止的。当你调用版本控制,它激活静止的安装并使活动的那个停止活动。如果机器上包括一个SQL Server 6.5的安装——它没有以版本控制的形式和SQL Server 7.0共存,安装程序要求你选择两个选项之一:升级SQL Server 6.5到SQL Server 2000的默认实例并且在两个版本间保持一个版本控制;升级到SQL Server 2000的命名实例。和从SQL Server 7.0升级不同——它覆盖了当前的安装,6.5的安装保留在电脑中——不管你为升级到2000选择何种路径。

如果7.0和6.5都已安装并以“版本控制”的形式共存在同一台机器中,而且你不想升级已存在的安装,你可以安全地在同一台机器上安装2000的命名实例并且在同一台机器上使用所有三个版本。然而,以版本控制形式共存的同时只有一个版本可以运行,而所有命名实例可以同时运行。

在说明了你的实例选项后,我们来到安装类型对话框。

 

自定义安装

       在安装类型对话框中,安装向导要求你在3个安装类型中作选择:典型、最小和自定义。如果你选择典型或者最小,SQL Server对组件和子组件、排序规则和网络库都使用默认选项。因为典型安装会潜在地引起棘手的问题,我强烈建议始终选择自定义——即使你认为默认满足你的安装需求。一些以前提及的选项——特别是排序规则——在安装后如果发现不满足需求是非常难以更改的。自定义安装让你再次检查那些选项。

 

安全

       在安装过程中,你在2个对话框中说明和安全相关的信息:服务账号和验证模式。在服务账号对话框里,你填入SQL Server和SQL Server Agent服务的服务账号细节。每个服务使用在对话框中说明的账号来被操作系统调入,并且在操作系统中运行于这个账号的安全上下文里。比如:当你备份到一个磁盘设备,SQL Server检查你用来登录到SQL Server的登录是否具有适当的“备份数据库”权限。然而,创建备份文件设备并写入,SQL Server必须在磁盘或者网络共享中创建一个文件,这个操作使用SQL Server服务账号的安全上下文。

       同样的,SQL Server Agent服务在SQL Server Agent服务账号的安全上下文下在SQL Server、操作系统或网络中运行过程。虽然一个在本机不具有管理权限的账号可以启动SQL Server 服务,把SQL Server 服务账号加入到本地管理员组是个好主意。否则,你需要额外地把所有所需的权限授权给该帐号,还需要授权该帐号合适的网络权限。

       而如果你试图通过一个机器上不具有管理员权限的服务账号来启动SQL Server Agent,它甚至无法启动。而且如果SQL Server Agent在网络上的其他机器上执行操作,比如复制或者多服务器工作,你应该使用一个在其他机器上具有适当权限的域账号。比如在一个包含3台SQL Server机器的单域多服务器环境中,一台主服务器控制目标服务器上的自动活动。因为双方(主服务器和目标服务器)需要相互通讯,你需要确保主服务器上的SQL Server Agent服务账号在目标服务器上具有适当的权限,反之亦然。配置这样一个环境的最简便方法就是创建一个域账号,使它在所有服务器上成为本地管理员组的成员,并且通过该帐号来调用所有的SQL Server Agent服务。

       在身份验证模式对话框中,你可以选择是否只允许Windows身份验证登录(Windows身份验证模式)或者Windows和SQL Server两者登录(混合模式)。你也可以为sa(System Administrator)的SQL Server登录指定一个密码。Windows身份验证模式是默认的和最常用的推荐安全模式。然而,为安全起见,我建议你选择混合模式并且为sa账号提供一个密码,在安装完成和处理完一些其他的安全项目后,再把验证模式改为Windows身份验证模式。如果你选择Windows身份验证模式作为你的服务器的安全模式,安装过程把sa登录创建为无效并且没有密码(因为SQL Server身份验证模式是无效的)。你可以在安装后更改sa的密码——我强烈建议你这么做——但是一开始就选择Windows身份验证模式是危险的,因为你可能忘了更改密码或者使用空密码,以为sa已经失效。

       无论你选择何种模式,安装程序都为BUILTINAdministrators组创建一个Windows身份验证的登录,它映射到本地机器的管理员组。这个登录的创建意味着所有本地管理员组的成员,包括域组域管理员,都是你的SQL Server的系统管理员(sysadmin)角色的成员。给予网络和本地管理员在SQL Server上的毫无限制的权限并不总是一个好主意,因为这引入了安全风险,这样一来你可能决定从SQL Server 的sysadmin角色中移除BUILTINAdministrators,或者你可能从SQL Server中完全移去这些自动创建的登录而为DBA成员组用sysadmin身份创建一个登录——不是网络管理员。

       如果你决定遵从上述这些建议,这样做就够了:首先,为DBA成员组用sysadmin身份创建一个登录,然后删除BUILTINAdministrators登录。如果你的服务器的身份验证模式时Windows而且你在为DBA创建登录以前删除所有具有sysadmin资格的登录,你会发现你自己被锁在了SQL Server之外,无法执行管理任务——如:创建新的登录。如果你落入了这个陷阱,你仍然可以通过把注册表HKEY_LOCAL_MACHINE OFTWAREMicrosoftMicrosoft SQL Server实例名\MSSQLServerLoginMode的键值更改为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个设置到一起外

本文链接:http://www.4byte.cn/learning/99489.html