搭建无人执守安装服务器
A. 如何进行无人值守linux操作系统的安装
1.1 什么是PXE
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
PXE的工作过程:
1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;
3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;
4. PXE Client 取得pxelinux.0 文件后之执行该文件;
5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;
6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;
B. sql2000无人职守自动安装配置文件如何设置
现在我们的标准安装已经完成,让我们讨论一下无人值守安装。Setupsql.exe程序让你记录下一个应答文件,它包括了你在安装程序对话框中常选的对于各种安装选项的所有回答。稍后,你能够通过调用以该应答文件作为参数的setupsql.exe命令来运行一个安装。这种无需任何用户干预的安装类型被称为无人值守安装。 要准备应答文件,先启动安装程序,在安装选择对话框中选择高级选项,在对话框中选择选取“记录无人值守.ISS文件”。安装程序会指导你完成常规的安装对话框,其中你可以填入所有你想要记录的选项。当你完成后,安装程序在\WINNT文件夹下创建一个名为setup.iss的文件。 要启动一个无人值守安装,运行setupsql.exe程序,用-s作为执行安静安装的参数、-fl参数指定一个应答文件。例如,要启动一个安静的、无人值守的安装——安装完成后不通知你,你可以使用以下命令: <path>\setupsql.exe –s –fl <path>\setup.iss 如果你想在安装完成时得到通知,从命令行执行如下setupsql.exe程序,或者把它写入一个批处理文件中: start /wait <path>\setupsql.exe -s –fl <path>\setup.iss 直到安装结束,控制才会传递到下一条命令。当你从批处理文件启动安装,而这个文件又包括其他依赖于安装的行为时,使用start /wait选项是特别重要的。例如,假设你要为一个名为INST1的命名实例执行无人值守安装来创建批处理文件,然后启动SQL Server服务,再运行一个用来创建数据库及其对象(如:表、存储过程)的sql脚本。这个批处理文件看起来可能像这样: start /wait D:\X86\Setup\setupsql.exe –s –fl C:\WINNT\setup.iss net start MSSQL$INST1 OSQL /E /I “c:\data\scripts\createappdb.sql” 如果你不使用start /wait选项,控制从安装一开始就移到了批处理文件的第二条命令,而这条NET START命令试图启动一个还不存在的服务。 对一个无人值守安装进行故障排除要比对待标准安装的故障排除更需要慎重对待。标准安装往往在安装程序遇到问题时通过显示一个包含出错信息的对话框(并伴有响亮的警告声)来通知你。而无人值守安装只是简单地终止,且没有交互的通知。 要了解如何对无人值守安装进行故障排除,让我们来看一组我遇到过的问题。假设你已经在服务器上完成了另一个产品的安装,然后你试图执行一个SQL Server的无人值守安装。安装程序检测到在前一个安装结束后服务器尚未重启,于是放弃安装,同时没有任何信息提示。如果你保持任务管理器窗口打开,你会注意到setupsql.exe 程序不活动,所以SQL Server没有被安装。你也应该检查日志文件。一旦安装成功,\WINNT\setup.log文件应该显示0作为出错代码;然而,在我描述的情景中,他很可能显示-1,这表示一个基本错误。你也应该看一下出错信息。 当执行无人值守安装时,我遇到过多次的另一个错误是“对话框次序紊乱”。在我调用安装程序后不久我就意识到这一问题的存在——那是在我打开任务管理器并看到setupsql.exe虽然在运行但是没有像正常的无人值守安装那样调用和释放进程。同时,安装程序通常在\Program Files\Microsoft SQL Server下创建的文件夹也没有被创建。Setupsql.exe程序看来并没有占用CPU或者I/O资源,只是在大约10分钟后消失了。Setup.log文件显示一个-12的错误代码而sqlstp.log文件显示没有错误——实际上,它看来还未完成。Sqlstp包含了不完整的注意事项,只是一条消息——Begin Action:DialogShow<dialogname>。BOL显示了以下有关错误代码-12的信息:“对话框次序紊乱。这是一个常见错误,由在安装初始化文件(Setup.iss)文件中的一个对话框次序紊乱所引起。这是由于Setup.iss文件创建过程中的系统问题所产生。”足以确认,在我重新对Setup.iss文件排序后,无人值守安装成功完成。 除了完全安装,你还可以执行SQL Server 2000服务包的无人值守安装。要把服务包应用到默认实例上,从服务包的安装目录调用setupsql.exe程序,指明应答文件为位于服务包安装目录根目录下的sql2kdef.iss。例如:如果服务包安装文件位于c:\sql2ksq2下,执行入下命令: start /wait c:\sql2ksp2\x86\setup\setupsql.exe –s –fl c:\sql2ksp2\sql2kdef.iss 要把服务包应用到命名实例上,使用sql2knm.iss应答文件,但是首先修改文件中的下列两行来对应正确的命名实例: InstanceName = INSTANCE_NAME NMPPipeName=\\.\pipe\MSSQL$INSTANCE_NAME\sql\query 另一个高级选项——远程安装——让你在一台远程的电脑上安装SQL Server 2000。你可以从一台本地的电脑上手工记录下一个setup.iss文件,把它复制到远程电脑上,在激活setupsql.exe程序和在远程电脑上的setup.iss文件。然而,你可以替自己省些麻烦——通过在本地电脑上运行setupsql.exe程序,在电脑名对话框中选择远程电脑,指明你想要安装到的电脑名。当你点击下一步时,远程安装信息对话框会显示出来。 首先你要提供帐号细节(用户、密码、域),到目标文件夹的UNC路径和源安装文件的UNC路径。接下来,安装程序将指引你完成常规安装对话框并根据你的选择记录下setup.iss文件。接着,程序复制setup.iss文件到目标电脑的\WINNT文件夹下,再用复制的setup.iss文件来激活setupsql.exe。 如果你在目标电脑上打开任务管理器,你会看到setupsql.exe进程在安装过程中调用和释放其他进程。在本地电脑上,安装程序显示远程安装正在进行中,并且会在完成时通知你。
C. 无人值守安装的常见系统的静默安装
Windows XP要执行无人值守安装,使用安装管理器,或者Sysprep,这两个软件在Windows安装光盘的Resource kit中,用该软件产生一个叫Unattended.txt的文件,然后在安装时执行命令:
winnt[32] /u:<answer file> /s:<install source>
如果要光盘直接启动执行无人值守安装,则要把unattended.txt改名为sysprep.inf,放到光盘根目录的$OEM$$1sysprepsysprep.inf。
如使用Ghost封装系统,使用sysprep会自动生成路径,直接做镜像即可。 Vista级以上系统要执行无人值守安装,需要使用Microsoft专门推出的WAIK(Windows Automation Installation Kit)Windows自动安装工具包。安装该工具后,使用安装镜像管理器,可以生成一个unattended.xml,然后打开Windows Deployment Service,然后在安装光盘镜像中点击Properties,在General选项卡勾选Allow image to install in unattend mode,然后浏览到unattended.xml。
D. ubuntu怎样执行无人值守安装
在桌面点击图标打开软件中心。 1 在软件中心右上角的搜索栏输入wine,搜... 2 找到如图所示的这个程序,鼠标点击进行... 3 选中后会出现install按钮,点击这个按... 4 在程序里找到安装好wine程序,点击打开。 5 打开wine后,可以看到左侧的导航...
E. SQL Server的有效安装[2]
排序规则
接下来 你需要选择排序规则设置 SQL Server 中的排序规则(Collation)设置用来管理和语言相关的行为 对象名称和列的值的唯一性 以及排序规则(sorting rules) 在排序规则设置对话框里 你说明排序规则并在SQL Server排序规则和Windows排序规则两者之间选择其一 如果你需要和以前SQL Server版本的向后兼容性 选择SQL Server排序规则——比如 如果你打算在一个早期版本的SQL Server和SQL Server 之间使用复制 否则 选择Windows排序规则 SQL Server 的排序规则设置 不管是Windows或是SQL Server 合并了在先前版本中的 个独立的设置 字符集 排序次序和Unicode排序规则 除了整合旧的 个设置到一起外 SQL Server 在排序规则中还提供了比以前版本更为强大的灵活性
在你安装SQL Server 时选择的排序规则决定了系统数据库的排序规则设置 要在安装后更该系统数据库的排序规则设置 你需要脚本化所有你的系统对象(比如 登录 消息 工作)并且运行rebuildm exe 它用新的排序规则重建了所有的系统数据库 然而 你不必先导出用户数据库中的所有数据再在运行完rebuildm exe后把他们再导入——就像你再SQL Server 中所作的那样 你只须重新连接用户数据库到SQL Server 你可以用不同于默认服务器的排序规则(这是模板系统数据库的)的排序规则配置你的用户数据库 或者甚至用不同于服务器设置的排序规则连接或恢复一个数据库 你可以以后修改用户数据库的默认排序规则 对于特定的一列 你可以指定不同于默认的数据库排序规则的一种排序规则 你甚至可以稍后修改列的排序规则——如果该列上没有创建索引的话
虽然在排序规则方面SQL Server 是灵活的 不要低估了你在安装时作的选择 正如我前面所言 服务器的排序规则应用到所有的系统数据库并且决定了记录在系统数据库中所有对象(如登录名 数据库名)的排序规则 进一步而言 tempdb的排序规则也是你在安装过程中选择的服务器排序规则 当你创建一个临时表 表的列使用tempdb的排序规则——除非你在每列的定义里指明COLLATE 数据库默认
网络库
在说明了排序规则设置后 你来到了网络库对话框 网络库是客户机应用程序用来和SQL Server通讯的协议 客户机和SQL Server都必须有至少一个匹配的网络库 通过它两者可以通讯 在网络库对话框中 你设置SQL Server将会用来和客户机通讯的网络库
在SQL Server 中 只有命名管道和多协议允许Windows身份验证 所有其他网络库只允许SQL Server身份验证 这样一来 对于SQL Server 来说 你想要支持的登录类型时你选择网络库的一个因素 进一步来说 只有多协议允许数据加密 所以如果你SQL Server 支持数据加密 你就不得不选择这个网络库 在SQL Server 中 所有网络库支持Windows身份验证 在这个意义上你就更加灵活 但是多协议仍然是唯一允许数据加密的网络库
在SQL Server 里 你可以通过使用SQL Server 网络工具和SQL Server客户机网络工具的安全套接字层(Secure Socket Layer SSL)来对所有网络库强制加密 这样一来 加密因素不再决定网络库的选择 同样 在SQL Server 里 多协议不支持命名实例方案(服务器名实例名) 这样的话 当你使用命名实例时 多协议也不是个好的选择 SQL Server 中最通用的网络库大概是TCP/IP套接字吧 它提供了良好的性能 允许Windows身份验证 而且你可以在需要时对它进行强制SSL加密
大多数使用SQL Server早期版本的用户知道SQL Server的默认TCP端口是端口 当使用默认端口时 客户机连接除了服务器名或者IP地址不需要提供端口号 然而 SQL Server 支持多个实例 这无法统统使用同样的端口号 所以当你安装一个命名实例时 安装程序建议把 作为端口号 端口号为 意味着当SQL Server第一次启动时 它动态地选择一个空闲的端口号并且把它永久保留或者直到你稍后手工修改它为止 那么客户机连接如何继续通过仅仅提供服务器名称/IP地址+实例名而不用指定端口号找到SQL Server呢?SQL Server 中的一个监听器服务监听端口 上的客户机请求 然后通过检测请求中的实例名并把它和实例的端口号匹配 再把该请求重定向到适当的实例
无人值守和远程安装
现在我们的标准安装已经完成 让我们讨论一下无人值守安装 Setupsql exe程序让你记录下一个应答文件 它包括了你在安装程序对话框中常选的对于各种安装选项的所有回答 稍后 你能够通过调用以该应答文件作为参数的setupsql exe命令来运行一个安装 这种无需任何用户干预的安装类型被称为无人值守安装
要准备应答文件 先启动安装程序 在安装选择对话框中选择高级选项 在对话框中选择选取 记录无人值守 ISS文件 安装程序会指导你完成常规的安装对话框 其中你可以填入所有你想要记录的选项 当你完成后 安装程序在WINNT文件夹下创建一个名为setup iss的文件
要启动一个无人值守安装 运行setupsql exe程序 用 s作为执行安静安装的参数 fl参数指定一个应答文件 例如 要启动一个安静的 无人值守的安装——安装完成后不通知你 你可以使用以下命令
<path> etupsql exe –s –fl <path> etup iss
如果你想在安装完成时得到通知 从命令行执行如下setupsql exe程序 或者把它写入一个批处理文件中
start /wait <path> etupsql exe s –fl <path> etup iss
直到安装结束 控制才会传递到下一条命令 当你从批处理文件启动安装 而这个文件又包括其他依赖于安装的行为时 使用start /wait选项是特别重要的 例如 假设你要为一个名为INST 的命名实例执行无人值守安装来创建批处理文件 然后启动SQL Server服务 再运行一个用来创建数据库及其对象(如 表 存储过程)的sql脚本 这个批处理文件看起来可能像这样
start /wait D:X etup etupsql exe –s –fl C:WINNT etup iss
net start MSSQL$INST
OSQL /E /I c:data criptscreateappdb sql
如果你不使用start /wait选项 控制从安装一开始就移到了批处理文件的第二条命令 而这条NET START命令试图启动一个还不存在的服务
对一个无人值守安装进行故障排除要比对待标准安装的故障排除更需要慎重对待 标准安装往往在安装程序遇到问题时通过显示一个包含出错信息的对话框(并伴有响亮的警告声)来通知你 而无人值守安装只是简单地终止 且没有交互的通知
要了解如何对无人值守安装进行故障排除 让我们来看一组我遇到过的问题 假设你已经在服务器上完成了另一个产品的安装 然后你试图执行一个SQL Server的无人值守安装 安装程序检测到在前一个安装结束后服务器尚未重启 于是放弃安装 同时没有任何信息提示 如果你保持任务管理器窗口打开 你会注意到setupsql exe 程序不活动 所以SQL Server没有被安装 你也应该检查日志文件 一旦安装成功 WINNT etup log文件应该显示 作为出错代码 然而 在我描述的情景中 他很可能显示 这表示一个基本错误 你也应该看一下出错信息
当执行无人值守安装时 我遇到过多次的另一个错误是 对话框次序紊乱 在我调用安装程序后不久我就意识到这一问题的存在——那是在我打开任务管理器并看到setupsql exe虽然在运行但是没有像正常的无人值守安装那样调用和释放进程 同时 安装程序通常在Program FilesMicrosoft SQL Server下创建的文件夹也没有被创建 Setupsql exe程序看来并没有占用CPU或者I/O资源 只是在大约 分钟后消失了 Setup log文件显示一个 的错误代码而sqlstp log文件显示没有错误——实际上 它看来还未完成 Sqlstp包含了不完整的注意事项 只是一条消息——Begin Action DialogShow<dialogname> BOL显示了以下有关错误代码 的信息 对话框次序紊乱 这是一个常见错误 由在安装初始化文件(Setup iss)文件中的一个对话框次序紊乱所引起 这是由于Setup iss文件创建过程中的系统问题所产生 足以确认 在我重新对Setup iss文件排序后 无人值守安装成功完成
除了完全安装 你还可以执行SQL Server 服务包的无人值守安装 要把服务包应用到默认实例上 从服务包的安装目录调用setupsql exe程序 指明应答文件为位于服务包安装目录根目录下的sql kdef iss 例如 如果服务包安装文件位于c: ql ksq 下 执行入下命令
start /wait c: ql ksp x etup etupsql exe –s –fl c: ql ksp ql kdef iss
要把服务包应用到命名实例上 使用sql knm iss应答文件 但是首先修改文件中的下列两行来对应正确的命名实例
InstanceName = INSTANCE_NAME
NMPPipeName=\ pipeMSSQL$INSTANCE_NAME qlquery
另一个高级选项——远程安装——让你在一台远程的电脑上安装SQL Server 你可以从一台本地的电脑上手工记录下一个setup iss文件 把它复制到远程电脑上 在激活setupsql exe程序和在远程电脑上的setup iss文件 然而 你可以替自己省些麻烦——通过在本地电脑上运行setupsql exe程序 在电脑名对话框中选择远程电脑 指明你想要安装到的电脑名 当你点击下一步时 远程安装信息对话框会显示出来
首先你要提供帐号细节(用户 密码 域) 到目标文件夹的UNC路径和源安装文件的UNC路径 接下来 安装程序将指引你完成常规安装对话框并根据你的选择记录下setup iss文件 接着 程序复制setup iss文件到目标电脑的WINNT文件夹下 再用复制的setup iss文件来激活setupsql exe
如果你在目标电脑上打开任务管理器 你会看到setupsql exe进程在安装过程中调用和释放其他进程 在本地电脑上 安装程序显示远程安装正在进行中 并且会在完成时通知你
最后的话
虽然基本安装看来简单 你仍需队与你所选择的安装选项给予密切注意 并且完全理解它们 良好的安装选择为运行和管理SQL Server提供了一个坚实的基础 而如果你认为执行无人值守安装和远程安装听起来复杂的话 我希望这篇文章有助于你对它们加深了解
lishixin/Article/program/SQLServer/201311/22413
F. 无人值守安装(非光盘的)
我记得有个软件叫小哨兵,你找找看。那个东西好像就能实现lz说的那种功能
G. SQL无人职守安装问题
在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败
在使用 SQL Server 自带的客户端工具(以企业管理器为例)连接 SQL Server时,最常见的错误有如下一些:
1、SQL Server 不存在或访问被拒绝
ConnectionOpen (Connect())
2、用户'sa'登录失败。原因:未与信任 SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性:
1、SQL Server名称或IP地址拼写有误;
2、服务器端网络配置有误;
3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:
ping <服务器IP地址>
或者
ping <服务器名称>
如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server。防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:
1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
2、添加一条IP地址与服务器名称的对应记录,如:
172.168.10.24 myserver
也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。
其次,使用 telnet 命令检查SQL Server服务器工作状态:
telnet <服务器IP地址> 1433
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。
接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道,是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。
点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:
从这里我们可以看到服务器启用了哪些协议。一般而言,我们启用命名管道以及 TCP/IP 协议。
点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置,如下图所示:
一般而言,我们使用 SQL Server 默认的1433端口。如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。
检查完了服务器端的网络配置,接下来我们要到客户端检查客户端的网络配置。我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具。
点击:程序 -> Microsoft SQL Server -> 客户端网络使用工具, 打开该工具后看到的画面如下图所示:
从这里我们可以看到客户端启用了哪些协议。一般而言,我们同样需要启用命名管道以及 TCP/IP 协议。
点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,如下图所示。
该端口必须与服务器一致。
单击"别名"选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOSTS文件有相似之处。
通过以上几个方面的检查,错误 1 发生的原因基本上可以被排除。下面我们再详细描述如何来解决错误 2。
当用户尝试在查询分析器里面使用sa来连接SQL Server,或者在企业管理器里面使用sa来新建一个SQL Server注册时,经常会遇到如图 2 所示的错误信息。该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
1、 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server;
2、 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡;
3、 在"身份验证"下,选择"SQL Server和 Windows "。
4、 重新启动SQL Server服务。
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那么我们将遇到一个两难的境地:首先,服务器只允许了 Windows 的身份验证;其次,即使使用了 Windows 身份验证仍然无法连接上服务器。这种情形被形象地称之为"自己把自己锁在了门外",因为无论用何种方式,用户均无法使用进行连接。实际上,我们可以通过修改一个注册表键值来将身份验证方式改为 SQL Server 和 Windows 混合验证,步骤如下所示:
1、点击"开始"-"运行",输入regedit,回车进入注册表编辑器;
2、依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3、在屏幕右方找到名称"LoginMode",双击编辑双字节值;
4、将原值从1改为2,点击"确定";
5、关闭注册表编辑器;
6、重新启动SQL Server服务。
此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server。这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators 以及 <机器名>\Administrator 被删除。要恢复这两个帐户,可以使用以下的方法:
1、打开企业管理器,展开服务器组,然后展开服务器;
2、展开"安全性",右击"登录",然后单击"新建登录";
3、在"名称"框中,输入 BUILTIN\Administrators;
4、在"服务器角色"选项卡中,选择"System Administrators" ;
5、点击"确定"退出;
6、使用同样方法添加 <机器名>\Administrator 登录。
以下注册表键
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式。该值为1,表示使用Windows 身份验证模式;该值为2,表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。
看完如何解决前两个错误的方法之后,让我们来看一下如图 3 所示的第三个错误。
如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。
要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因)。