制作一个无人值守的SQL server安装?

听说修改一个ini文件,然后就可以实现无人值守的安装,系统按照在Ini文件里面设定的参数进行安装。有那位大侠做过?给点提示!谢了先!
---------------------------------------------------------------

http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=17364
---------------------------------------------------------------

CSDN的FAQ中有吧,这是我收藏的一篇文章:

SQL Server无人值守安装
随心工作室原创

第1步: 判断SQL Server是否已经安装过,如果已经安装,则启动服务器(第4步);
SQL Server是否已经安装的判断方法:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup下的SQLPath键值
为SQL Server的安装路径,判断安装路径是否存在就可以了。
第2步: SQL Server的安装命令:
如果是桌面版本:
SETUPSQL.EXE k=Dk -s -m -SMS -f1 sql70ins.iss
否则去掉参数:k=Dk
第3步: 建一个循环,通过进程来判断安装程序的结束,一旦结束则启动服务器(第4步);
第4步: 通过进程来判断SQL Server服务是否已经启动,如果已经启动则做第5步;
假设SQL Server的安装路径为c:\mssql7,数据文件路径为d:\mssql7,
则启动SQL Server服务的命令为:
c:\mssql\binn\sqlservr.exe -c -dd:\mssql7\data\master.mdf
-ed:\mssql7\log\errorlog -ld:\mssql7\data\mastlog.ldf
第5步: 导入数据库:
先把数据文件与日志文件拷入d:\mssql7\data下,
假设SQL Server的安装路径为c:\mssql7,数据文件为d:\mssql7\data\test_data.mdf,
日志文件为d:\mssql7\data\test_log.ldf,数据库名为test,则数据库导入的命令为:
sp_attach_db 'test','d:\mssql7\data\test_data.mdf','d:\mssql7\data\test_log.ldf'
当然,如果要自动执行的话,把上面的语句写入文件(假设为c:\temp\attachdb.sql)中,
然后调用运行命令:
c:\mssql\binn\osql.exe -S服务器名 -Usa -P -dMaster -ic:\temp\attachdb.sql
最后,当然您还可以加入一些自己的应用程序的安装,这样的话,您就可以发布您那完整的数据库应用
程序了,所有安装,包括数据库全部自动进行,不需要用户的干预。
如果不能正确安装,查看一下Windows目录下的sqlstp.log文件即可查出原因,对症下药就行了。

以下为文件sql70ins.iss的内容:

[InstallShield Silent]
Version=v5.00.000
File=Response File
[DlgOrder]
Dlg0=SetupMethod-0
Count=11
Dlg1=SdWelcome-0
Dlg2=SdLicense-0
Dlg3=SdRegisterUser-0
Dlg4=CDKEYDialog-0
Dlg5=SetupTypeSQL-0
Dlg6=DlgCpSortUnicode-0
Dlg7=DlgServerNetwork-0
Dlg8=DlgServices-0
Dlg9=SdStartCopy-0
Dlg10=SdFinish-0
[SetupMethod-0]
Component-type=string
Component-count=1
Component-0=Local
Result=1
[SdWelcome-0]
Result=1
[SdLicense-0]
Result=1
[SdRegisterUser-0]
szName=MSEMPLOYEE
szCompany=Microsoft
Result=1
[CDKEYDialog-0]
svCDKey=47324-777-7777777-22042
Result=1
[SetupTypeSQL-0]
;Sql Server程序的安装路径
szDir=C:\MSSQL7
Result=301
;Sql Server数据文件的路径
szDataDir=C:\MSSQL7
[DlgCpSortUnicode-0]
;如果是简体中文字符集SortId设为199,是ISO/1252字符集SortId设为52
;如果是简体中文字符集LCID设为2052,是ISO/1252字符集LCID设为1033
SortId=52
LCID=1033
CompStyle=196609
Result=1
[DlgServerNetwork-0]
NetworkLibs=4095
TCPPort=1433
TCPPrxy=Default
NMPPipeName=\\.\pipe\sql\query
Result=1
[DlgServices-0]
Local-Domain=3855
AutoStart=61455
Result=1
[SdStartCopy-0]
Result=1
[License]
LicenseMode=PERSERVER
LicenseLimit=5
[SdFinish-0]
Result=1
bOpt1=0
bOpt2=0

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus