自定义 SQL/MSDE 无人参与安装文件

文章翻译 文章翻译
文章编号: 233312 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

本文内容

概要

可以使用 .iss 文件自动完成 Microsoft SQL Server 7.0 或 Microsoft Data Engine (MSDE) 1.0 的无人参与(或无提示)安装,该文件记录了在交互式安装过程中将由用户提供的响应和选择。

如果使用 SQL Server 7.0,您可以通过在未安装 SQL Server 或 MSDE 的计算机上运行 SQL Server 安装程序 (SETUPSQL.EXE) 来生成满足需要的自定义 .iss 文件。为用于安装 SQL Server 的 .iss 文件选择所需的选项。安装之后,安装程序将在 Microsoft Windows 根目录(例如:C:\WINNT 或 C:\WINDOWS)中创建一个名为 Setup.iss 的文件。可以重命名该 .iss 文件或将其移到一个新位置,并使用它在将来自动进行需要相同配置的安装。通过使用可选的 Setupsql.exe 命令行参数“k=Rc”,可以使安装程序在您选择选项时写入 Setup.iss 文件(而不是等到在复制了文件之后再写入),从而使您能够在不实际安装 SQL Server 的情况下生成 .iss 文件。但是,使用 k=Rc 选项创建的 Setup.iss 文件是不完整的。您必须按照 SQL Server 7.0 联机从书文章“创建安装初始化文件”中所述的步骤修改使用此选项创建的文件,然后才能使用该文件。SQL Server 联机从书可从以下 Microsoft 网站下载:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=a6f79cb1-a420-445f-8a4b-bd77a7da194b
用于生成新 .iss 文件的选项不可用于 MSDE 可再发行组件包,该组件包不包括图形化安装向导。但是,可通过修改现有的 .iss 文件来达到相同效果。MSDE 和 SQL Server 都附带了经过测试的示例 .iss 文件。Unattend.iss 文件可自动执行 MSDE 的典型安装,并且 SQL Server CD 包括用于几种常见 SQL Server 安装方式(仅安装客户端实用程序、桌面版/标准版,等等)的示例 .iss 文件。

以下安装选项的配置信息如下:
  • 安装路径
  • 服务器端网络库
  • 代码页
  • 排序顺序
  • Unicode 排序
  • Unicode 比较样式
  • 授权模式
  • 每台服务器的许可证计数
  • 注册的用户名
  • 服务启动帐户
  • 自动启动 MSSQLServer/SQLServerAgent
本文中的大部分信息也可在 SQL Server 联机丛书文章“Creating a Setup Initialization File”(创建安装初始化文件)中找到。有关如何使用 .iss 文件来自动执行安装的信息,请参阅 SQL Server 7.0 联机丛书文章“Unattended Installation”(无人参与安装)和“How to run an unattended installation (Command Prompt)”(如何运行无人参与安装(命令提示))。对于 MSDE,指定 .iss 文件的位置的命令行参数可在 MSDE Readme.txt 文件中找到。 有关如何确定无提示安装是否已完成以及安装是成功还是失败的更多信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
233337 如何确定无人参与 SQL Server 7.0/MSDE 1.0 安装何时完成

更多信息

.iss 文件的结构与标准 Windows .ini 文件的结构类似。条目在节的下方组合在一起,节名称由方括号(“[”和“]”)表示。例如,下面是 .iss 文件中的第一个节:
  [InstallShield Silent]
  Version=v5.00.000
  File=Response File
				

安装路径

    [SetupTypeSQL-0]
    szDir=C:\MSSQL7
    szDataDir=C:\MSSQL7

				
SQL Server 或 MSDE 有两个安装目录。根目录指定二进制文件和日志文件的位置。数据目录指定 master、msdb、pubs(仅限 SQL Server)和 model 数据库的数据库文件的位置。它还是新用户数据库的默认位置。修改 szDir 参数以更改根目录,修改 szDataDir 以更改数据目录。默认情况下,这些目录将相同。如果这些目录位于 NTFS 分区上,那么,将安装 MSDE 的用户以及您选择作为 SQL Server/MSDE 服务启动帐户(请参阅下面的“服务启动帐户”部分)的 Microsoft Windows NT 帐户都必须对这些目录具有“完全控制”权限。如果没有必需的权限,则安装将失败。

服务器端网络库

    [DlgServerNetwork-0]
    NetworkLibs=4095
    TCPPort=1433
    TCPPrxy=Default
    NMPPipeName=\\.\pipe\sql\query

				
可以包括以下网络库:命名管道、TCP/IP 套接字、多协议、NWLink IPX/SPX、AppleTalk ADSP 和 Banyan Vines。命名管道和 Banyan Vines 服务器端网络库不能安装在 Microsoft Windows 95 或 Windows 98 上。

注意:对于在 Windows 95 或 Windows 98 上运行时应用于 SQL Server/MSDE 的其他限制,请参阅 SQL Server 联机丛书文章“SQL Server 7.0 on Windows 95/98”(Windows 95/98 上的 SQL Server 7.0)。.iss 条目 NetworkLibs 是一个位掩码,表示要安装的网络库。每个网络库的位掩码中的值如下所示(值以十六进制和十进制形式提供):
收起该表格展开该表格
网络库值(十六进制)值(十进制)
命名管道0x0000000F 15
TCP/IP 套接字0x000000F0 240
多协议0x00000F00 3840
NWLink IPX/SPX0x0000F000 61440
AppleTalk0x000F0000 983040
Banyan Vines0x00F00000 15728640
多协议加密0xF0000000 -268435456
若要指定要安装哪些服务器端网络库,请将十六进制值与按位的 OR 运算结合,并将此值以 32 位有符号整数的形式写出到 NetworkLibs 条目。例如,假设要安装“命名管道”和“多协议”,并且想要启用“多协议加密”(除非同时包括了“多协议”,否则“多协议加密”没有任何效果)。将使用十六进制值 F0000F0F,用 32 位有符号整数表示时该值为 -268431601:
0000000F   (命名管道)
OR 00000F00   (多协议)
OR F0000000   (多协议加密)
    -----------
   F0000F0F  =  -268431601
  
				
或者,使用以下方法:

为要包括的网络库对上面图表中“值(十进制)”列中的值进行合计。例如,要包括命名管道、多协议和多协议加密:
15   (命名管道)
+        3840   (多协议)
+  -268435456   (多协议加密)
    -------------
   -268431601
  
				
注意:除非在 Windows 95 或 Windows 98 上安装,否则应始终包括命名管道。

NMPPipeName 条目是 SQL Server 侦听的命名管道名称。在没有正当理由的情况下,不应更改它的默认值(“\\.\pipe\sql\query”)。

TCPPort 条目指定 TCP/IP 端口号,在安装了 TCP/IP 套接字时使用。通常不应更改它的默认值 1433。

TCPPrxy 条目是远程 WinSock 代理地址,它同样也只有在配置了 TCP/IP 的情况下才适用。大多数情况下,它将为“Default”。

NWLinkObj 条目是 Novell Bindery 服务名称。只有当包括了 NWLink IPX/SPX 时,此条目才存在。

BanyanObj 条目是 StreetTalk 服务名称。只有在选择了 Banyan Vines 的情况下,才会使用此条目。

ApplObj 条目是 AppleTalk 服务对象。只有在选择了 AppleTalk ADSP 网络库的情况下,才会使用此条目。

代码页、排序顺序、Unicode 排序和比较样式

    [DlgCpSortUnicode-0]
    SortId=52
    LCID=1033
    CompStyle=196609

				
SortID 条目同时确定 SQL Server/MSDE 的代码页和排序顺序。大多数情况下,应使用默认 SortID 52(此值指定代码页 1252 和字典顺序(不区分大小写的排序顺序))。每个代码页(也称为字符集)都具有一组与其关联的受支持的排序顺序。每个排序顺序由一个排序顺序 ID 标识;排序顺序 ID 还唯一地标识与排序顺序关联的代码页。有关替代排序顺序 ID(及关联的字符集)的列表,请参阅 SQL Server 7.0 联机丛书文章“Sort Order IDs”(排序顺序 ID)。有关本主题的附加常规信息,请参阅联机丛书文章“Code Pages and Sort Orders”(代码页和排序顺序)。

区域设置 ID 条目 (LCID) 指定 Unicode 排序。Unicode 排序定义 Unicode 数据的排序方式(它在功能上类似于字符数据的排序顺序)。通常,应使用默认区域设置 ID 1033(通用 Unicode)。如果需要 Unicode 数据的替代排序方式,请参阅联机丛书文章“Unicode Collation”(Unicode 排序)。

可通过修改 Unicode 比较样式来调整 Unicode 排序内 Unicode 字符的排序方式。通常应接受默认值 196609。Unicode 比较样式由 CompStyle 条目(一个由以下几部分组成的位图)表示:
收起该表格展开该表格
样式值(十六进制)值(十进制)
忽略大小写0x00001 1
忽略重音符号0x00002 2
忽略假名0x10000 65536
忽略宽度0x20000 131072
可采用与计算 NetworkLibs 位掩码(在前面的“服务器端网络库”部分中论述过)类似的方式计算 CompStyle 值。例如,默认值 196609(十六进制形式为 0x30001)是将“忽略大小写”、“忽略假名”和“忽略宽度”选项合并在一起得到的结果。
1   (忽略大小写)
+  65536   (忽略假名)
+ 131072   (忽略宽度)
    ---------
  196609
  
				

授权

    [License]
    License Mode=PERSERVER
    License Limit=15

				
License Mode 条目具有以下可能值:“PERSERVER”和“PERSEAT”。License Limit 条目指定已购买的每台服务器 SQL 客户端访问许可证 (CAL) 的数量。如果 License Mode 为 PERSEAT,则 License Limit 条目不存在。

[License] 节不适用于 MSDE 或 SQL Server Desktop 版本安装;与 SQL Server Desktop 版本或 MSDE 的客户端连接不需要 SQL CAL。但是,安装有 SQL Server Desktop 的计算机必须具有每客户 SQL CAL。同样,如果 MSDE 将与 SQL Server 交互,那么安装有 MSDE 的计算机也需要每客户 SQL CAL。 有关 SQL Server Desktop 版本授权的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
207809 Desktop SQL Server 7.0 的 DTS/复制授权

注册的用户名

    [SdRegisterUser-0]
    szName=User Name
    szCompany=Company Name

				
可以使用注册用户的名称和公司名称自定义 MSDE 或 SQL Server 的安装。修改 szName 以更改用户的名称,修改 szCompany 以包括公司。

服务启动帐户

    [DlgServices-0]
    Local-Domain=61680
    AutoStart=255
    SQLDomain=MyDomainName
    SQLDomainAcct=MyDomainUser
    SQLDomainPwd=....
    AgtDomain=MyDomainName
    AgtDomainAcct=MyDomainUser
    AgtDomainPwd=....

				
[DlgServices-0] 节定义 MSSQLServer 和 SQLServerAgent 服务运行所采用的帐户的属性。Local-Domain 条目是一个位图,它指定这些帐户中的每个帐户是 Windows NT 域帐户还是特殊的 LocalSystem 帐户。有关何时应使用域帐户(而不是本地系统帐户)的信息,请参阅 SQL Server 联机丛书文章“Creating SQL Server Services User Accounts”(创建 SQL Server 服务用户帐户)和“SQLServerAgent Service Startup Account”(SQLServerAgent 服务启动帐户)。在 Windows 95 或 Windows 98 上,必须安装这些服务才能使用 LocalSystem 帐户;这些操作系统未提供服务控制管理器,因此这两项服务都在当前交互用户的安全上下文下运行。Local-Domain 条目的选项包括:
收起该表格展开该表格
选项值(十六进制)值(十进制)
MSSQLServer 使用 LocalSystem0x000F 15
MSSQLServer 使用域帐户0x00F0 240
SQLServerAgent 使用 LocalSystem0x0F00 3840
SQLServerAgent 使用域帐户0xF000 61440
在前面的示例节 [DlgServices-0] 中,Local-Domain 为 61680,这表明 MSSQLServer 和 SQLServerAgent 都将使用域帐户启动 (61440 + 240 = 61680)。

AutoStart 条目是一个位掩码,它控制是否将每项服务配置为在计算机启动(在 Windows NT 上)或用户登录(在 Windows 95 或 Windows 98 上)时自动启动。在前面的示例中,MSSQLServer 和 SQLServerAgent 均配置为自动启动 (240 + 15 = 255):
收起该表格展开该表格
选项值(十六进制)值(十进制)
MSSQLServer 自动启动0x000F 15
SQLServerAgent 自动启动0x00F0 240
请注意,在 Windows 95 或 Windows 98 上,SQLServerAgent 或 MSSQLServer 都不能通过 SQL 设置配置为自动启动,因为在这些平台上并未通过图形设置界面公开此选项。 有关如何在 Windows 95 或 Windows 98 上启动 MSSQLServer 服务或 SQLServerAgent 服务的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:
196654 如何在 Windows 95 或 Windows 98 上控制 SQL Server 服务
在 Windows NT 上,只有在同时自动启动了 MSSQLServer 的情况下,才能自动启动 SQLServerAgent,因为 SQLServerAgent 服务依赖于 MSSQLServer。此节中的其余条目(SQLDomain、SQLDomainAcct、SQLDomainPwd,等等)指定在 Local-Domain 条目指明一项或所有这两项服务将使用 Windows NT 域帐户(而不是 LocalSystem 帐户)的情况下,将使用哪个(些)Windows NT 帐户。如果使用的是 LocalSystem,则这些条目不存在。密码条目经过加密,并且只能通过以交互方式运行 SQL Server 安装程序生成新的 .iss 文件来获取。如果在您的环境中无法实现这一点或这样做不可行,则必须安装 MSSQLServer 和 SQLServerAgent 以使用 LocalSystem 帐户运行 (Local-Domain=3855)。

如果需要,Windows NT 用户可以随后更改服务启动帐户(请参阅 SQL Server 联机丛书文章“How to set up a SQL Server service to log on under a different user account (Windows NT)”(如何设置 SQL Server 服务以使用另一个用户帐户登录 (Windows NT))和“Creating SQL Server Services User Accounts”(创建 SQL Server 服务用户帐户))。在 Windows NT 上,可以在安装之后使用实用程序 Scm.exe(在 MSSQL7\BINN 目录中)将服务启动帐户从 LocalSystem 更改为域帐户(如果必须自动完成此操作)。有关更多信息,请参阅以前为获得详细信息而引用的 Microsoft 知识库文章。

属性

文章编号: 233312 - 最后修改: 2014年2月23日 - 修订: 6.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 7.0 标准版
  • Microsoft Data Engine 1.0
关键字:?
kbnosurvey kbarchive kbinfo KB233312
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com