数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL Server的有效安装[1]


发布日期:2021年03月03日
 
SQL Server的有效安装[1]

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

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

实例

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

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

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

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

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

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

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

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

自定义安装

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

安全

在安装过程中你在个对话框中说明和安全相关的信息服务账号和验证模式在服务账号对话框里你填入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在网络上的其他机器上执行操作比如复制或者多服务器工作你应该使用一个在其他机器上具有适当权限的域账号比如在一个包含台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已经失效

无论你选择何种模式安装程序都为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的键值更改为来把SQL Server身份验证的模式改为混合模式修改好后重新启动SQL Server服务即可

虽然通过注册表可以控制SQL Server的登录模式是方便的它也有个缺点任何人只要具有编辑注册表键值的权限包括网络和本地管理员都可以更改SQL Server的身份验证模式如果你用Windows身份验证模式来安装SQL Serversa是失效的但是仍然具有一个空白的密码如果接着你更改SQL Server身份验证模式到混合模式(这就使sa登录有效)任何人都可以作为sa登录所以绝对确保你一完成安装就更改sa密码或者在安装过程中选择混合模式并且为sa提供一个密码

[] []

               

上一篇:SQL Server的有效安装[2]

下一篇:数据库相关:Microsoft SQL Server数据库日志截断