微软的 sql  server2000   XP系统装的时候很郁闷的哦。~~~

1.Sqlservr.exe运行参数。

针对SQL数据库卸载不完全的现象,做了如下总结:
 

到网上找了几个解决问题的方案

SqlServer的启动可以为Windows服务方式(默认),也可以以应用程序方式启动。下面介绍sqlservr.exe以应用程序方式启动时的参数问题。

1,控制面板 卸载
 

解决挂起的方法

sqlservr应用程序用法:

首先,打开控制面板,按照“安装时间”进行排序,卸载SQL Server系列组件
 

将以下两个从注册表中删除,一定可以解决SQL挂起问题:
一、开始运行输入regedit回车
+HKEY_LOCAL_MACHINE
+SYSTEM
+CurrentControlSet
+Control
+Session Manager下的FileRenameOperations删掉
二、+HKEY_LOCAL_MACHINE
+SOFTWARE
+Microsoft
+Windows
+CurrentVersion
+Setup
+ExceptionComponents下的东西全部删掉如:
{077ACEC7-979C-40AB-9835-435BA1511E0D}
{30C7234B-6482-4A55-A11D-ECD9030313F2}
{3FDF25EE-E592-4495-8391-6E9C504DAC2B}
{60204BB3-7078-4F70-8F69-68297621941C}……
总之有几项,就删几项,删掉后重启,再装SQL Server,就不会提示有挂起了。

sqlservr[-sinstance_name][-c][-dmaster_path][-f]
[-eerror_log_path][-lmaster_log_path][-m]
[-n][-Ttrace#][-v][-x][-gnumber][-O][-ynumber]

澳门新葡萄京官网首页 1

 

-sinstance_name

 

貌似这个行的通  但是没实践过哦。~

指定要连接到的SQLServer实例。如果未指定命名实例,sqlservr将启动SQLServer默认实例。重要启动SQLServer实例时,必须从实例所在的适当目录使用sqlservr应用程序。对于默认实例,从MSSQLBinn目录运行sqlservr。对于命名实例,在MSSQL$instance_nameBinn目录运行sqlservr。

2,利用360删除SQL Server系列组件(同样按照时间排序)
 

总结:1
有把握的话就把原来装的SQL完完全全的卸掉.将C:WINDOWS目录下的sql.mif、sqlsp.log、sqlstp.log、sqlsrv32.rll、sqlwid.dll、sqlwoa.dll、dbmsqlgc.dll、SQLSRV32.dll、sqlclnt.rsp、sqlunirl.dll、SQLSERVR.EXE-18F260D8.pf、SQLMANGR.EXE-0150BA62.pf等清除,删除的时候还应考虑到C:Program
FilesCommon FilesMicrosoft Sharedweb server
extensions40binFPMMC.MSCSQL在安装过程中如果出错,系统会锁定文件,当然,卸载程序也会,但可以通过修改注册表,就不用重新启动,再尝试安装了。(建议装完SQL后还是重新启动一下机器,就避免修改注册表了)
避免重启,注册表修改:(1)运行REGEDIT;(2)注册表中选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
Manager,将光标定位于此;(3)选择文件->导出,再次保存(安全起见);(4)在右边窗中右击PendingFile
Rename Operations,选择删除,最后确认; 最后重新安装SQL

-c

澳门新葡萄京官网首页 2

同事出差,遇到两次安装SQL不成功,这边虽然给予了他指导,他也按我说的方法,先停止服务,退出,再卸载,然后将注册表与相应安装目录也删除了,但仍然安装不了SQL,特恼火,没有办法,我只得让他重新装一下OS,就OK了。但这个方法是迫不得已,索性到网上查查相关资料,但结果都是提问的,即使有回答,答案也无非就是卸载掉再重新安装试试等此类的回复,嘿,没办法,自己整理一个,或许对安装SQL不成功的同志有所帮助吧。
1、先停止服务,退出,再到控制面板正常卸载;
2、删除安装路径下的所有目录文件夹,包括注册表,如果担心删除不到位,可以用查找命令,将所有*SQL*的逐一查出,然后再一一确认删除;(如果安装SQL时,不是按默认路径安装,除了删除安装路径下的所有目录文件夹外,主系统盘里的程序组里的相应文件夹也要删除)
3、删除的时候还应考虑到C:Program FilesCommon FilesMicrosoft
Sharedweb server extensions40binFPMMC.MSC;
4、管理工具中,将SQLSERVERAGENT服务停止服务;此服务程序存放在D:Program
FilesMicrosoft SQL ServerMSSQLBinnsqlagent.exe -i MSSQLSERVER
5、将C:WINDOWS目录下的sql.mif、sqlsp.log、sqlstp.log、sqlsrv32.rll、sqlwid.dll、sqlwoa.dll、dbmsqlgc.dll、SQLSRV32.dll、sqlclnt.rsp、sqlunirl.dll、SQLSERVR.EXE-18F260D8.pf、SQLMANGR.EXE-0150BA62.pf等清除;(偶机器SQL是打过SP4的)
6、删除时还应将C:Program FilesCommon FilesMicrosoft SharedSQL
Debuggingsqldbreg2.exe,sqldbreg.exe
,sqldbg.dll也清除掉;
7、如果安装不成功,记得要将C:WINDOWSTempSQLSETUPBINSCM.EXE一并清除;
8、卸载干净后,如果怕再次安装出错,那就建议按默认路径安装;
9、SQL在安装过程中如果出错,系统会锁定文件,当然,卸载程序也会,但可以通过修改注册表,就不用重新启动,再尝试安装了。(建议装完SQL后还是重新启动一下机器,就避免修改注册表了)
避免重启,注册表修改:(1)运行REGEDIT;(2)注册表中选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
Manager,将光标定位于此;(3)选择文件->导出,再次保存(安全起见);(4)在右边窗中右击PendingFile
Rename Operations,选择删除,最后确认;
10、如果安装不成功,还可以通过C:WINDOWSsqlstp.log查看安装不成功的原因,这个是最利于解决问题的了;
11、同时需要将C:Documents and SettingsXXXLocal
SettingsTemp所有关于*SQL*.*全部清除;例如将sqlsp.out,SQLSERVR.DBD,sqlmangr.exe.mdmp,sqlmangr.exe.hdmp清除即可。

表示以独立于WindowsNT服务控制管理器的方式启动SQLServer实例。当从命令提示符下启动SQLServer时,可使用该选项缩短启动SQLServer的时间。(注意:当使用该选项时,无法通过使用SQLServer服务管理器或netstop命令停止SQLServer,而且如果已从MicrosoftWindowsNT?系统注销,则SQLServer将停止运行。)-dmaster_path指出master数据库文件的完全合法路径。在-d和master_path之间没有空格。

 

-f

3,利用Windows Install Clean Up软件
 

以最小配置模式启动服务器。然后,系统管理员可对配置选项重新配置(使用sp_configure系统存储过程)。

微软自己出的卸载软件,用它可以完美卸载Microsoft的系列软件。利用 Windows
Installer 清理实用工具,可以删除程序的 Windows Installer
配置信息。如果您遇到安装(安装程序)问题,可能需要删除程序的 Windows
Installer 配置信息。

-eerror_log_path

例如,第一次安装程序时没有包括其中的某个组件,如果添加(或删除)此组件时遇到安装问题,您也许不得不删除该程序的
Windows Installer 配置信息。
 

表示错误日志文件的完全合法路径。如果未指定路径,则默认实例的默认位置是x:ProgramFilesMicrosoftSQLServerMSSQLLogErrorlog,命名实例的默认位置是x:ProgramFilesMicrosoftSQLServerMSSQL$instance_nameLogErrorlog。在-e和error_log_path之间没有空格。

澳门新葡萄京官网首页 3

-lmaster_log_path

 

指示master数据库事务日志文件的完全合法路径。在-l和master_log_path之间没有空格。

4,手动卸载,手工来进行删除操作。

-m

 

表示在单用户模式下启动SQLServer实例。如果SQLServer是以单用户模式启动的,则只能连接一个用户。CHECKPOINT机制(它确保完成的事务定期从磁盘高速缓存写入数据库设备中)将不启动。(一般情况下,如果您遇到需要修复的系统数据库问题时,可使用此选项。)

(1) 删除以下注册表子项:
        HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServer
        HKEY_LOCAL_MACHINESOFTWAREMicrosoft Microsoft SQL
Server
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSQLServer
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSQLSERVER
AGENT
        HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
MSSQLServerADHelper

-n

(2) 手工删除安装目录,默认情况下位于:

表示您不想使用WindowsNT应用程序日志来记录SQLServer事件。如果用-n选项启动SQLServer实例,则最好也使用-e选项,否则将不会记录SQLServer事件。

        C:Program FilesMicrosoft SQL Server
        C:Program Files (x86)Microsoft SQL Server
        C:UsersAdministrator请仔细查找……

-Ttrace#

 

表示应使用指定的有效跟踪标记(trace#)来启动SQLServer实例。跟踪标志用来启动具有非标准行为的服务器。有关可用跟踪标记(trace#)的更多信息,请参见跟踪标记。重要当指定跟踪标志时,请使用–T来传递跟踪标志号。SQLServer接受小写字母t(-t);然而,-t还设置SQLServer支持工程师所需的其它内部跟踪标记。

(3) 卸载Microsoft Search 服务,还需要删除:
        HKEY_LOCAL_MACHINESOFTWAREMicrosoftSearch

-v

(4) 卸载Microsoft 全文查询,还需要删除:

显示服务器的版本号。

       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSFTPSVC
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSCNTRS
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSEARCH  
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSGATHERVER
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSGTHRSVC
       
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSSINDEX

-x

(5)如果要卸载的是命名实例,则在相应的注册表键的MSSQLServer,SQLSERVERAGENT和MSSQLServerADHelper后加上“/”和相应的实例名。

禁用维护CPU统计。

到此我们就成功的完美卸载了SQL SERVER数据库。
  

-gmemory_to_reserve

指定内存的兆字节整数,该内存被保留下来用于SQLServer2000内部(进程内)运行的其它应用程序。

不配置的话,OPENROWSET经常死掉,而且重启后才能恢复

-O

指定不需要分布式COM(DCOM),从而禁用异类查询。

-yerror_number

如果SQLServer2000遇到在该选项中指定的错误信息,它将把表象堆栈跟踪写入错误日志。可以使用多个–y参数指定多个错误。

2.系统数据库路径问题.

一般情况下,正常安装sqlserver之后,master等系统数据库的路径都是被设置为绝对路径,如果要改正数据库的路径为相对路径,可以使用以下SQl语句:

sql:=format(‘updatesysaltfilessetfilename=’%s’wherefilename=’%s”,
[‘…data’+extractfilename(MDFFile),MDFFile]);

ADOQuery1.Close;
ADOQuery1.SQL.Text:=sql;
ADOQuery1.ExecSQL;

sql:=format(‘updatesysaltfilessetfilename=’%s’wherefilename=’%s”,
[‘…data’+extractfilename(LogFile),LogFile]);

ADOQuery1.Close;
ADOQuery1.SQL.Text:=sql;
ADOQuery1.ExecSQL;

sql:=Format(‘updatesysdatabasessetfilename=’%s’wherename=’%s”,[‘…data’+extractfilename(MDFFile),Edit1.text]);

ADOQuery1.Close;
ADOQuery1.SQL.Text:=sql;
ADOQuery1.ExecSQL;

大家打开sysaltfiles表和sysdatabases一看就知道了,不多说了。除了系统数据库,其它的数据库也可以使用这种方法修改为相对路径。

使用相对路径的好处是可以让你的绿色Sqlserver随时copy到任意目录或是任意其它机器上启动,并且原来的数据库全部可以使用,如果是绝对路径到了其它机器就不行了。

3.注册表问题:

大家可以看下面的注册表文件

WindowsRegistryEditorVersion5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$name]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServer]
“AuditLevel”=dword:00000000
“DefaultLogin”=”guest”
“ListenOn”=hex(7):53,00,53,00,4d,00,53,00,53,00,48,00,37,00,30,00,00,00,53,00,53,00,4e,00,45,00,54,00,4c,00,49,00,42,00,00,00,00,00
“LoginMode”=dword:00000000
“Map_”=”\”
“Map#”=”-“
“Map$”=””
“SetHostName”=dword:00000000
“Tapeloadwaittime”=dword:ffffffff
“uptime_pid”=dword:00001044
“uptime_time_utc”=hex:26,57,c8,b3,fb,bb,c5,01

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServerCurrentVersion]
“CurrentVersion”=”8.00.194”
“RegisteredOwner”=””
“SerialNumber”=””
“CSDVersionNumber”=dword:00000300
“CSDVersion”=”8.00.761”
“Language”=dword:00000804
“checksum”=hex:37,35,32,32,63,31,35,38,61,65,37,64,34,63,64,37,35,30,64,61,30,33,34,62,37,64,63,32,30,61,36,36,39,37,62,34,61,35,65,36,63,66,62,61,38,37,39,36,37,31,66,33,39,61,36,65,35,64,30,33,37,36,37,65,64,36,33,30,61,39,63,36,66,37,36,30,35,65,32,66,34,66,31,33,63,39,33,63,34,66,62,66,34,66,64,38,64,65,36,64,35,34,37,33,35,39,35,32,36,63,61,32,36,63,33,32,64,34,36,33,65,36,39,34,30,65,61,37,64,35,30,61,66,34,64,32,66,38,37,36,30,61,39,64,30,61,32,36,64,65,66,66,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServerParameters]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServerSuperSocketNetLib]
“ProtocolList”=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServerSuperSocketNetLibNp]
“PipeName”=”\\.\pipe\MSSQL$$name\sql\query”

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameMSSQLServerSuperSocketNetLibTcp]
“TcpHideFlag”=dword:00000000
“TcpDynamicPorts”=”$port”
“TcpPort”=”$port”

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer$nameSetup]
“FeatureName”=”SqlRun”
“FirstStart”=dword:00000000
“ProductCode”=”{E09B48B5-E141-427A-AB0C-D3605127224A}”
“SQLDataRoot”=”$path”
“SQLPath”=”$path”

这是注册一个SqlServer实例所要使用的注册表,把里面的$name,$path,$port替换成你定义的实例名,当前程序所有路径,监听端口,然后导入注册表就可以了。

4.启动SqlServer

iPath:=ExtractFilePath(Application.ExeName);
CommandLine:=PChar(iPath+’binnsqlservr.exe-d…datamaster.mdf-l…datamastlog.ldf-e…Loglog.txt+Edit1.Text);
CreateProcess(
nil,
CommandLine,
nil,
nil,
true,
CREATE_NO_WINDOW,
nil,
PChar(iPath+’binn’),
StartupInfo,
ProcessInformation
)

也可以直接写个.bat运行就ok了.

5.启动日志问题。

这个问题最简单,因为在执行sqlservr.exe时指定的有log文件,你只用用个定时器(50ms)读文件,就可以在程序中显示出来启动日志了,呵呵,这只是个思想,具体的自已想办法吧.

6.停止服务

用CreateProcess可以得到进程ID,TerminateProcess就关了sqlserver进程,服务就停了,简单吧。

根据上面的6个步骤,你就可以自已搞定一个绿色的SqlServer了.并且你可以根据不同的sqlserver版本,整理出所有版本的绿色sqlserver。

绿色sqlserver企业版
绿色sqlserver个人版
绿色MSDE

……

这样以后遇到什么操作系统都全部搞定。

最后说一句,只要你能把几个Sqlserver版本的数据整理好(主要是系统数据库的路径问题(好像现在盒子已经有绿色企业版的文件了),DLL全部copy就OK了),都可以使用我的管理工具进行管理,呵呵,当然你也可以作出自已的管理器。

我的管理器,主要是为了我自已用,大家如果用着可以,请多提意见。由于sqlserver数据太大,并且盒子上已经有了,这次只上传了exe和目录结构。

不知道说的是否正确,如果还有什么问题,我们一起交流.Email:11826088@163.com

posted on 2006-04-05 10:36 人淡如菊 阅读(13) 评论(1) 编辑收藏
收藏至365Key 
 
评论 
#re: SQL 绿色版 
人淡如菊
Posted @ 2006-04-05 10:55
sqlserver2000安装不成功之处理 
SQLServer2000安装

sqlserver2000安装不成功之处理

1、先停止服务,退出,再到控制面板正常卸载;

2、删除安装路径下的所有目录文件夹,包括注册表,如果担心删除不到位,可以用查找命令,将所有*SQL*的逐一查出,然后再一一确认删除;(如果安装SQL时,不是按默认路径安装,除了删除安装路径下的所有目录文件夹外,主系统盘里的程序组里的相应文件夹也要删除)

3、删除的时候还应考虑到C:Program FilesCommon FilesMicrosoft
Sharedweb server extensions40binFPMMC.MSC;

4、管理工具中,将SQLSERVERAGENT服务停止服务;此服务程序存放在D:Program
FilesMicrosoft SQL ServerMSSQLBinnsqlagent.exe -i MSSQLSERVER

5、将C:WINDOWS目录下的sql.mif、sqlsp.log、sqlstp.log、sqlsrv32.rll、
sqlwid.dll、sqlwoa.dll、dbmsqlgc.dll、SQLSRV32.dll、sqlclnt.rsp、
sqlunirl.dll、SQLSERVR.EXE-18F260D8.pf、SQLMANGR.EXE-0150BA62.pf等清除;(偶机器
SQL是打过SP4的)

6、删除时还应将C:Program FilesCommon FilesMicrosoft SharedSQL
Debuggingsqldbreg2.exe,sqldbreg.exe 
,sqldbg.dll也清除掉;

7、如果安装不成功,记得要将C:WINDOWSTempSQLSETUPBINSCM.EXE一并清除;

8、卸载干净后,如果怕再次安装出错,那就建议按默认路径安装;

9、SQL在安装过程中如果出错,系统会锁定文件,当然,卸载程序也会,但可以通过修改注册表,就不用重新启动,再尝试安装了。(建议装完SQL后还是重新启动一下机器,就避免修改注册表了) 
避免重启,注册表修改:(1)运行REGEDIT;(2)注册表中选择HKEY_LOCAL_MACHINESYSTEM
CurrentControlSetControlSession
Manager,将光标定位于此;(3)选择文件->导出,再次保存(安全起见);(4)在右边窗中右击PendingFile
Rename Operations,选择删除,最后确认;

10、如果安装不成功,还可以通过C:WINDOWSsqlstp.log查看安装不成功的原因,这个是最利于解决问题的了;

11、同时需要将C:Documents and SettingsXXXLocal
SettingsTemp所有关于*SQL*.*全部清除;例如将sqlsp.out,SQLSERVR.DBD,
sqlmangr.exe.mdmp,sqlmangr.exe.hdmp清除即可。