sql server错误:53 、17分别是啥?如何解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server错误:53 、17分别是啥?如何解决?相关的知识,希望对你有一定的参考价值。

我想在jsp中使用数据库,我想用jdbc-odbc桥接器
我在控制面板中选择了ODBC数据源——用户DSN——添加——SOL——设置了数据源的名字和所在服务器——选择连接SQL Server的ID(连接SQL Server的登陆标识号是sa,密码是空
就在这个时候出现了Microsoft SQL Server登陆的提示信息:
连接失败
SOLState :"01000"
sql server错误:53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen(Connet())
连接失败
SOLState :"08001"
sql server错误:17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝

sql server错误:53是安装程序被挂起.我上网查看了很多资料之后总结如下,希望对大家有所帮助:

今天在服务器上的SQL server挂了之后,重新装了,可老提示什么狗P程序被挂起的信息,最后不得不细找原因,功夫不负有心人,终于找出了病症所在,K,我要早知道这么简单,就再也不装系统了.....汗死,详情如下,做个备份,以便今后再碰到类似问题有地方查!

1、先运行你的安装程序,当提示挂起时,点击“确定”,切记,不要退出安装程序,用ALT+Tal键切换,点击“开始》运行”,输入“regedit”,打开注册表

2、找到目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

3、删除其中的“PendingFileRenameOperations”(在这里说明一下,PendingFileRenameOperations文件位于Session Manager右侧,即当你点击Session Manager时,在右边就可以看到了)

4、关闭注册表

5、重新开始安装SQL Server 2000,一切OK了。简单吧

6、问题解决了,哈哈(如果上述步骤没能解决你问题,请继续往后看)

二、我是在WIN2003下安装的SQL2000,不用管"...SQL2000SP2不能安装在WIN2003下.."的提示,点继续,等安装完后再马上打上SP3,没有问题!

只是在安装过程中还出现了这个错误:

安装程序配置服务器失败。参考服务器错误日志和C:\WINNT\sqlstp.log 了解更多信息.

WINNT目录下的sqlstp.log中最后是这样的错误信息:

正在启动?

Chinese_PRC_CI_AS

-m -Q -T4022 -T3659

正在与服务?

driver=sql server;server=GH;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。

[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).

driver=sql server;server=GH;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。

[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).

driver=sql server;server=GH;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。

[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()).

SQL Server 配置?

####################################################

09:23:53 Process Exit Code: (-1)
09:24:14 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
09:24:14 Action CleanUpInstall:
09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scm.exe -Silent 1 -Action 4 -Service SQLSERVERAGENT
09:24:14 Process Exit Code: (1060) 指定的服务并未以已安装的服务存在。

09:24:14 C:\WINNT\TEMP\SqlSetup\Bin\scm.exe -Silent 1 -Action 4 -Service MSSQLSERVER
09:24:14 Process Exit Code: (0)
09:24:14 StatsGenerate returned: 2
09:24:14 StatsGenerate (0x0,0x1,0xf0000000,0x400,2052,303,0x0,0x1,0,0,0
09:24:14 StatsGenerate -1,Administrator)
09:24:14 Installation Failed.

解决方法:

首先把安装目录和C:\Program Files下的Microsoft SQL Server文件夹删了,删除在current_user和local_machine\software\microsoft\ 下有关 Microsoft sql server 全部信息,然后

1 打开注册表
在"开始"--"运行"键入 "regedit"
2 按下列顺序点击打开
+ HKEY_LOCAL_MACHINE
+ SOFTWART
+ Microsoft
+ Windows
+ CurrentVersion
+ Setup
+ ExceptionComponents
3 将 ExceptionComponents 下面的文件夹全部删除!
如 60BFF50D-FB2C-4498-A577-C9548C390BB9
60BFF50D-FB2C-4498-A577-C9548C390BB9
60BFF50D-FB2C-4498-A577-C9548C390BB9
60BFF50D-FB2C-4498-A577-C9548C390BB9
.......

4 重新启动:
5 重新安装 SQL Server 2000

另外在一个BLOG上看到的一个说法:

问题的原因:
此问题属于sql server的bug, GetComputerName 用于获取本地计算机名。客户端网络库组件 (DBMSLPCn.dll) 将该名称转换为全部大写。服务器网络库组件 (SSMSLPCn.dll) 保留返回时的名称。

当 Windows 计算机名称包含大写字母和小写字母或者都是小写字母时安装会失败,提示一般性网络错误!

解决办法就是将计算机名称改为全部大写!

我便照着将我电脑的名称改为大写,然后重启,刚才的网络错误问题没了。但又提示我 sa 登录失败。 奇怪了,我重新安装指定的是空密码,怎么安装程序自己也会sa登录失败呢?后来才想起来,卸载Sql Server 是为了保住我的数据,就偷懒没有将原先Sql Server 安装目录下的Data文件夹内的文件删除,master.mdf 和master.ldf都在。 以前的的Sql Server是设了密码的。于是感快将这两个文件删除。再重新安装一次,OK! 安装成功.

总结:

1、 以后计算机名称一定用大写,免得惹来不必要的麻烦.

2、重装Sql Server时一定要记得将master.mdf 和master.ldf删除。

注: 我的计算机名称也是小写,但我并没有把计算机名称换成大写,只是在SQL安装过程中把用户名改成了大写,再按照上面的做法删除文件夹和清除注册表后安装成功的,所以我觉得以上的说法值得探讨!

以下还收集一些SQL2000安装程序配置服务器失败的一些解决方法:

1. sql server 2000安装出错,无法找到动态链接库sqlunirl.dll

安装文件肯定没有错,因为以前安装过,绝对可以用,机子之前有装了sql server 2000,而且可以正常使用,只是今天突然无法连接到本地数据库,打算重装,我删了program files里的ms sql的目录,然后重装sql,结果在最后一步的时候提示,无法完成配置。后来又删除了一些注册表中的sql server信息(有备份注表),再安装时,就出现这样的提示了,更糟的是,备份的注册表却无法还原

============================
现在问题解决了,总结了一些经验

当安装时出现MDAC组件安装失败时,试着修复或重装microsoft office

当你想重装sql server,而安装时又出现“您的机子上已经安装有一个实例”的提示时,可以删除program files\Microsoft SQL Server文件夹,再安装

当出现某某动态链接文件找不到时,可以试着在sql server的安装文件中找到这个文件,复制到系统目录下的system和system32文件夹中(一般在出现这个错误消息时,都会提示哪几个文件夹下缺少这个文件)

当出现安装程序配置服务器失败时,可以试着用一下方法解决
此错误消息可以在系统目录下找到,例如我的系统是win2000,则该文件在C:\WINNT\sqlstp.log

失败一:
正在与服务?

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_H

SQL Server 配置?

###############################################################################

13:40:06 Process Exit Code: (-1)
13:40:09 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
13:40:09 Action CleanUpInstall:
当出现这个错误时,试一下重装系统文件
我的机子是win2000,在dos下重新运行win2000的安装,然后选择修复,而不是全新安装
修复系统文件之后,再装sql server,则不会出现此错误消息

失败二:
正在与服务?

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC 驱动程序 管理器] 未发现数据源

SQL Server 配置?

###############################################################################

13:50:07 Process Exit Code: (-1)
13:50:10 安装程序配置服务器失败。参考服务器错误日志和 C:\WINNT\sqlstp.log 了解更多信息。
13:50:10 Action CleanUpInstall:
当出现这个错误时,是因为在注册表删除了HKEY_LOCAL_MACHINE\SOFTWARE\ODBC中有关sql sever的内容
这时可以选择修复注册表,或安装ODBC修复工具.

失败三:
在与服务?

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (ReadFile()).

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

driver=sql server;server=ZHL;UID=sa;PWD=;database=master

[Microsoft][ODBC SQL Server Driver][Named Pipes]连接?

[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (GetOverLappedResult()).

SQL Server 配置?

###############################################################################

17:17:41 Process Exit Code: (-1)
17:17:45 安装程序配置服务器失败。参考服务器错误日志和

当出现这个错误时,必须安装ODBC修复工具

另外在安装过程中还出现这个错误:
装SQL时出现
SQL Redist
command line option syntax error
Type command /? for help
不知道是什么原因,但是并不影响安装,点确定后可以继续,至于是什么原因还不明白!
参考技术A 无法找到数据源!服务器不能连接~
你试下重新打开 服务管理器
确认已经连接了再试下

sql server的对象命名规则是啥

自己搜索一下就是了,我给你copy一段:

为了提供完善的数据库管理机制,SQL Server 设计了严格的命名规则。在创建或引用数据库实体,如表、索引、约束等时,必须遵守SQL Server 的命名规则,否则有可能发生一些难以预料和检查的错误。
本文将讲述:标识符的分类和格式规定;数据库对象的命名规定与使用原则。希望对您会有所帮助。
标识符分类
SQL Server的所有对象,包括服务器、数据库以及数据库对象,如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都可以有一个标识符。对绝大多数对象来说,标识符是必不可少的,但对某些对象如约束来说,是否规定标识符是可选的。对象的标识符一般在创建对象时定义,作为引用对象的工具使用。
例如下面的SQL语句:
Create table student
(
id int primary key,
name varchar(20)
)
这个例子创建了一个表格,表格的名字是一个标识符:student;表格中定义了两列,列的名字分别是id,name,他们都是合法的标识符。这个例子还定义另外一个未命名的主键约束。
SQL Server一共定义了两种类型的标识符:规则标识符(Regular identifier)和界定标识符(Delimited identifier)。
规则标识符
规则标识符严格遵守标识符有关格式的规定。所以在T-SQL语句中凡是规则标识符都不必使用界定符,如[]和‘’,来进行界定。
如上述例子中使用的表名student 就是一个规则标识符,在student上不必添加界定符。
界定标识符
界定标识符是那些使用了如[]和‘’等界定符号来进行位置限定的标识符,使用了界定标识符,既可以遵守标识符命名规则,也可以不遵守标识符命名规则。
Select * from [student] 是要从student 表格中查询出所有的数据与
Select * from student 等效。
为什么呢?因为在“[]”中的标识符遵守标识符命名规则,“[]”被忽略不计。
但如果是不遵守标识符命名规则的标识符,那么在T-SQL语句中必须使用界定符号加以限定,如:
Select * from [my table]
Where [order]=10
在这个例子中,必须使用界定标识符,因为在from子句中的标识符my talbe中含有空格,而where子句中的标识符order 是系统保留字(在查询分析器里“order”变蓝色)。这两个标识符都不遵守标识符命名规则,必须使用界定符,否则无法通过代码编译。
标识符格式
标识符格式的规定,其具体内容如下:
标识符的首字母必须是以下两种情况之一:
所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。例如可以给一个表格命名为“学生基本情况”。下划线“-”、“@”或“#”。
标识符首字母后的字符可以是:
所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。下划线“-”、“@”、“$”或“#”。
0,1,2,3,4,5,6,7,8,9。
标识符不允许是T-SQL的保留字。
由于T-SQL不区分大小写,所以无论是保留字的大写还是小写都不允许使用。
标识符内部不允许有空格或特殊字符。
Select * from stu[de]nt –编译器将返回错误信息。因为在标识符stu[de]nt中包含了特殊字符“[”和“]”,所以在编译上述语句时出错。
?
以某些特殊符号开头的标识符在SQL Server系统中具有特定的含义。如“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以“#”开头的标识符表示这是一个临时表或存储过程;一个以“##”开头的标识符表示这是一个全局的临时数据库对象。T-SQL的全局变量以标志“@@”开头。为避免同这些全局变量混淆,建议不要使用“@@”作为标识符的开始。
无论是界定标识符还是规则标识符都最多只能容纳128个字符,对于本地的临时表最多可以有116个字符。
对象命名规则
SQL Server 2000 的数据库对象名字由1-128个字符组成,不区分大小写。在一个数据库中创建了一个数据库对象后,数据库对象的全名应该由服务器名、数据库名、拥有者名和对象名这四个部分组成,格式如下:
[[[server.][database].][owner_name].]object_name 命名必须都要符合标识符的规定。
在实际引用对象时,可以省略其中某部分的名称,只留下空白的位置。
实例的命名习惯
在SQL Server 2000中默认实例的名字采用计算机名,实例的名字一般由计算机名字和实例名字两部分组成。
总之,正确掌握数据库的命名和引用方式是用好SQL Server 2000的前提,也有助于用户理解SQL Server 2000中的其他内容。
参考技术A

数据库:采用当前业务的英文名称缩写作为数据库名称
表名:采用同一的表名前缀+所属业务名称+所属模块名+所属子模块名称
字段:采用页面字段的英文或拼音编码名称,整个数据库中意思一致的字段需命名一致
索引:IX_表名_索引列_包含列

sqlserver设计命名规则分享

以上是关于sql server错误:53 、17分别是啥?如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

sol server 无法启动 帮我看一下错误信息,是啥原因

在用Microsoft SQL Server 查询分析器时出现以下错误,请问是啥原因?

连接失败: SQLState:'01000' SQL Server 错误: 53 [Microsoft][ODBC SQL Server Driver][DBNETLIB]Connec

sql server ssl安全错误

sql server 小数字段设为哪种类型?

sqlserver安装时失败,提示遇到以下错误:未将对象引用设置到对象的实例。这个是啥意思?要怎么解决?