解决数据库故障16妙招.docx

上传人:b****5 文档编号:5332230 上传时间:2022-12-15 格式:DOCX 页数:21 大小:782.54KB
下载 相关 举报
解决数据库故障16妙招.docx_第1页
第1页 / 共21页
解决数据库故障16妙招.docx_第2页
第2页 / 共21页
解决数据库故障16妙招.docx_第3页
第3页 / 共21页
解决数据库故障16妙招.docx_第4页
第4页 / 共21页
解决数据库故障16妙招.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

解决数据库故障16妙招.docx

《解决数据库故障16妙招.docx》由会员分享,可在线阅读,更多相关《解决数据库故障16妙招.docx(21页珍藏版)》请在冰豆网上搜索。

解决数据库故障16妙招.docx

解决数据库故障16妙招

解决数据库故障16妙招

第1招:

SQLServer不存在或访问被拒绝

故障现象:

某公司局域网服务器中安装了SQLServer2000,某次在客户端计算机访问数据库服务器时,出现“SQLServe不存在或访问被拒绝”的提示。

请问这是什么原因造成的,应该如何解决?

解决方法:

“SQLServer不存在或访问被拒绝故障通常是最复杂的故障之一,造成此故障的原因较多。

SQLServer名称或IP地址拼写有误;服务器端网络配置有误以及客户端网络配置有误等错误配置均会造成上述故障的发生。

解决该问题时建议遵循以下步骤逐步进行:

1.检查网络物理连接

使用Ping命令测试服务器IP地址或服务器名称,如果Ping服务器IP地址时失败,说明物理连接有问题,这时要检查硬件设备(如网卡、交换机、路由器等)。

还有一种可能是由于客户端和服务器之间安装有防火墙软件,防火墙可能会屏蔽对Ping、Telnet等请求的响应。

在检查连接问题时建议先把防火墙软件暂时关闭,或者打开所有被封闭的端口。

如果Ping服务器IP地址成功而Ping服务器名称失败,则说明名字解析有问题。

有时SQL服务器跟客户端不属于同一个网段,这时可能会无法直接使用服务器名称来标识该服务器。

不过借助HOSTS文件也能进行名字解析。

用“记事本”程序打开HOSTS文件(该文件一般位于%SystemRoot%\system32\drivers\etc中),添加一条IP地址与服务器名称的对应记录(如10.115.223.188hanjiangit)。

2.用Telnet命令检查SQLServer服务器工作状态。

执行命令“Telnet服务器IP地址:

1433”,如果命令执行成功则可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQLServer服务器工作正常,并且正在监听1433端口的TCP/IP连接;如果命令返回“无法打开连接”的错误信息,则说明服务器没有启动SQLServer服务,也可能服务器未使用TCP/IP,或者服务器没有在SQLServer的默认端口1433上监听。

3.在SQLServer服务器上检查服务器端的网络配置。

一般需要检查是否启用了命名管道、是否启用了TCP/IP灯方面。

该操作可以使用SQLServer自带的“服务器网络实用工具”来实现:

第1步,依次单击“开始”→“所有程序”→MicrosoftSQLServer→“服务器网络实用工具”,打开“SQLServer网络实用工具”对话框。

从该对话框中可以看到服务器启用了哪些协议,一般而言应该启用命名管道及TCP/IP,如图2008120213所示。

图2008120213SQLServer网络实用工具

第2步,在“启用的协议”列表框中选中TCP/IP选项并单击“属性”按钮,打开hanjiangit-TCP/IP对话框。

在该对话框中检查SQLServer服务默认端口的设置,默认会使用1433端口。

如果选取“隐藏服务器”复选框,则客户端将无法通过枚举服务器来看到这台SQLServer服务器,从而起到保护作用。

如果检查没有问题单击“确定”按钮,如图2008120214所示。

图2008120214检查TCP/IP属性

第3步,检查完服务器端的网络配置,接着要到客户端检查客户端的网络配置。

在安装了SQLServer客户端的计算机中依次单击“开始/所有程序/MicrosoftSQLServer/客户端网络实用工具”,打开“SQLServer客户端网络实用工具”对话框。

在该对话框中可以看到客户端启用了哪些协议,一般而言同样需要启用命名管道(NamedPipes)及TCP/IP,如图2008120215所示。

图2008120215SQLServer客户端网络实用工具

第4步,在“按顺序启用协议”列表中单击选中TCP/IP选项,并单击“属性”按钮。

在打开的TCP/IP对话框中可以检查客户端默认连接端口的设置,该端口必须与服务器一致。

如果没有问题单击“确定”按钮,如图2008120216所示。

图2008120216检查客户端使用的端口

第5步,在“SQLServer客户端网络实用工具”对话框中单击“别名”选项卡,可以为服务器配置别名。

服务器的别名是用于连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。

例如可以使用SQLServer来代替真正的服务器名称hanjiangit,并使用网络库“NamedPipes(命名管道)”。

确认服务器别名没有问题,单击“确定”按钮,如图2008120217所示。

图2008120217配置SQLServer

通过对以上参数进行检查并配置,基本可以排除本例所提到的故障。

第2招:

如何备份SQLServer2000数据库

故障现象:

某公司采用SQLServer2000作为局域网数据库系统。

考虑到数据库中数据的重要性,准备对数据库进行必要的备份,以便在发生问题后及时有效地还原数据库。

请问应该如何操作?

解决方法:

作为电脑应用的重要方面,数据库在很多专业应用领域占有极其重要的地位,很多专业软件的运行都有赖于数据库,尤其是在服务器中数据库更是必不可少。

SQLServer2000本身提供了非常完善的数据库备份功能,用户可以将数据库备份至本地磁盘的安全位置,以备在需要时迅速还原。

备份数据库的步骤如下所述:

第1步,依次单击“开始”→“所有程序”→MicrosoftSQLServer→“企业管理器”,打开“企业管理器”控制台窗口。

第2步,在企业管理器控制台窗口的左窗格中依次展开“MicrosoftSQLServers/SQLServer组/local”目录树。

然后用鼠标右键单击“数据库”选项,在弹出的快捷菜单中执行“所有任务”→“备份数据库”命令,如图2008120218所示。

图2008120218执行“备份数据库”命令

第3步,打开“SQLServer备份”对话框,然后单击“数据库”右侧的下拉三角,从中选择要备份的数据库名称(本例采用默认的Master数据库)。

在“名称”编辑框中可以键入备份生成的文件名称。

接着单击“添加”按钮,如图2008120219所示。

图2008120219“SQLServer备份”对话框

第4步,在打开的“选择备份目的”对话框中,单击“文件名”编辑框右侧浏览按钮,打开“备份设备位置”对话框。

在该对话框中找到本地硬盘中用于保存备份数据库文件的文件夹(本例为L:

\SQLBackup文件夹),然后在“文件名”编辑框中为备份文件键入一个合适的名称。

设置完成以后单击“确定”按钮。

第5步,回到“选择备份目的”对话框,可以在“文件名”编辑框中看到刚才所作的设置,单击“确定”按钮即可。

第6步,SQLServer开始按照指定的备份目的对数据库进行备份,备份完成后会给出提示,单击“确定”按钮即可,如图2008120220所示。

图2008120220 顺利完成备份任务

第3招:

如何还原SQLServer2000数据库

故障现象:

某服务器SQLServer2000作为局域网数据库系统,并事先对数据库进行了必要的备份。

现在准备还原数据库,请问应该如何操作?

解决方法:

事先备份生成的数据库备份文件可以任意迁移至任何数据库中(如本服务器的新建数据库)。

以在新的数据库中还原数据库为例,具体实现步骤如下所述:

第1步,首先来新建一个数据库。

在企业管理器控制台窗口中用鼠标右键单击“数据库”选项,在弹出的快捷菜单中执行“新建数据库”命令。

第2步,在打开的“数据库属性”对话框中,在“名称”编辑框中键入备份时的数据库名称。

“排序规则设置”保持默认参数设置,然后单击“确定”按钮,如图2008120221所示。

图2008120221“数据库属性”对话框

小提示:

新建数据库以后,不需要运行sql脚本生成数据库,同时也不要从mdb数据库中导入数据。

第3步,在企业管理器控制台窗口中,用鼠标右键单击新建立的数据库,然后在弹出的快捷菜单中执行“所有任务/还原数据库”菜单命令,如图200812022所示。

图2008120222执行“还原数据库”命令

第4步,打开“还原数据库”对话框,该对话框主要用来设置还原设备、还原备份集等信息。

第5步,在“常规”选项卡中,用鼠标左键点选“还原”区域的“从设备”单选框,切换至选择设备视图。

在选择设备视图中,“还原为数据库”编辑框中默认填写了新建的数据库名称,而“还原备份集”提供了还原的几种形式。

保持这些参数的默认设置,单击“选择设备”按钮,打开“选择还原设备”对话框。

第6步,在“选择还原设备”对话框中,可以选择在还原了该备份后SQLServer将从哪些设备中还原。

单击“添加”按钮,打开“选择还原目的”对话框。

单击“文件名”编辑框右侧的浏览按钮,在打开的“备份设备位置”对话框中选中事先备份的设备,并单击“确定”按钮,如图2008120223所示。

图2008120223选择还原设备

第7步,返回“选择还原目的”对话框,在“文件名”编辑框中可以看到选中的设备名称,依次单击“确定/确定”按钮。

第8步,返回到“还原数据库”对话框,单击“选项”标签,切换至“选项”选项卡。

在该选项卡中,用鼠标勾选“在现有数据库上强制还原”复选框。

其它选项保持默认状态,单击“确定”按钮,如图2008120224所示。

图2008120224设置强制还原

第9步,SQLServer开始进行还原操作,还原完成后会给出提示,单击“确定”按钮即可。

第4招:

SQL视图能否应用到其它程序

故障现象:

某公司使用SQL数据库作为公司数据库系统。

现在想了解一下SQL的视图能不能被其它程序(如VF、VB、VC等)应用?

解决方法:

完全可以的。

其实在SQL中,视图和表的使用方法基本相同。

而且在程序中使用视图比使用表更安全更容易定制。

第5招:

用户sa登录SQLServer失败

故障现象:

某单位部署SQLServer2000作为局域网服务器系统,当用户尝试在查询分析器里面以sa身份连接SQLServer或者在企业管理器里面以sa身份新建一个SQLServer注册时,经常会遇到“用户‘sa’登录失败,未与信任SQLServer连接相关联”的错误信息。

请问这是什么原因造成的,应该如何解决?

解决方法:

该错误产生的原因是由于SQLServer采取了仅使用Windows账户的身份验证方式,因此用户无法使用SQLServer的登录账户(如sa)进行连接。

解决方法如下所述:

第1步,在SQLServer服务器上依次单击“开始”→“所有程序”→MicrosoftSQLServer→“企业管理器”菜单命令,打开SQLServerEnterpriseManager窗口。

使用Windows身份验证连接上SQLServer,如图2008120225所示。

图2008120225SQLServer企业管理器窗口

第2步,在左窗格中展开SQLServer组(本例为Database),然后右键单击SQLServer服务器的名称(本例为hanjiangit),选择“属性”快捷命令。

在打开的“SQLServer属性(配置)-HANJIANGIT”对话框中切换至“安全性”选项卡,并在“安全性”区域将身份验证方式选择为SQLServer和Windows。

最后单击“确定”按钮使设置生效,如图2008120226所示。

图2008120226选择SQLServer和Windows身份验证方式

第3步,重新启动SQLServer服务。

在上述解决方法中,如果即使用Windows身份验证的方式依然连接失败的话,那么将使用户处于两难境地。

因为SQLServer服务器只允许使用Windows身份验证,然而由于一些特殊原因,使用Windows身份验证却无法连接上SQLServer。

这样就造成了无论用何种身份验证方式均无法连接的情况。

遇到这种情况,只能通过修改注册表将身份验证方式改为SQLServer和Windows混合验证方式,具体操作方法如下:

第1步,依次单击“开始”→“运行”菜单命令,在运行编辑框中键入Regedit命令并回车,打开“注册表编辑器”窗口。

第2步,依次展开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]分支,单击选中MSSQLServer选项,在右窗格中找到并双击LoginMode项。

在打开的“编辑DWORD值”对话框中将“数值数据”修改为2,并单击“确定”按钮使设置生效,如图2008120227所示。

图2008120227修改注册表设置身份验证方式

第3步,关闭“注册表编辑器”窗口,并重新启动SQLServer服务。

通过上述设置,用户可以使用SQLServer账户sa连接数据库,并能够在“企业管理器”中新建SQLServer注册。

不过此时仍然无法使用Windows身份验证模式来连接SQLServer,因为在SQLServer中有两个缺省的登录账户BUILTIN\Administrators和“机器名\Administrator”被删除。

可以通过下面的步骤恢复这两个账户:

第1步,打开“企业管理器”窗口,在左窗格中依次展开“SQLServer组”→“SQLServer服务器”→“安全性”目录。

然后右键单击“登录”选项,执行“新建登录”快捷命令,如图2008120228所示。

图2008120228执行“新建登录”命令

第2步,打开“SQLServer登录属性-新建登录”对话框,保持身份验证方式为Windows身份验证,然后在“名称”编辑框中键入BUILTIN\Administrators,如图2008120229所示。

图2008120229输入缺省登录账户

第3步,单击“服务器角色”标签,在“服务器角色”选项卡中选中SystemAdministrators复选框,并单击“确定”按钮,如图2008120230所示。

图2008120230授权账户在服务器中的角色

第4步,重复上述步骤添加“‘机器名(域名)’\Administrator”账户。

第6招:

登录SQLServer2000数据库提示超时已过期

故障现象:

某单位局域网安装SQLServer2000作为数据系统。

在客户端计算机登录数据库服务器时出现“超时已过期”的提示,请问这是什么原因造成的,应该如何解决?

解决方法:

一般而言,出现该提示表示客户端计算机已经找到了数据库服务器且能够进行连接,不过由于连接的时间大于允许的时间而导致出错。

当用户在Internet上运行“企业管理器”注册另外一台同样在Internet上的服务器,并且是较慢的网络连接时,会经常出现超时错误。

当然在局域网中由于网络故障而导致该问题的出现也时有发生。

默认情况下,通过“企业管理器”注册另外一台SQLServer服务器的超时设置是4秒,而查询分析器是15秒。

通过修改客户端的连接超时参数可以解决该问题,具体设置步骤如下所述:

第1步,在SQLServer服务器上依次单击“开始”→“所有程序”→MicrosoftSQLServer→“企业管理器”菜单命令,打开SQLServerEnterpriseManager窗口并连接上SQLServer。

然后依次执行“工具”→“选项”菜单命令,打开“SQLServer企业管理器属性”对话框,如图2008120231所示。

图2008120231企业管理器属性对话框

第2步,单击“高级”标签,在“高级”选项卡的“连接设置”区域将“登录超时(秒)”和“查询超时(秒)”的数值改为较大的数值(本例改为20)。

最后单击“确定”按钮使设置生效,如图2008120232所示。

图2008120232设置登录和查询超时

第7招:

在SQL2000Server中使用update语句无法得到小数

故障现象:

使用SQL语句“update客户返工统计set返工率=返工件数/加工件数”计算客户返工统计,其中“返工件数”和“加工件数”的数值类型为int,update返工率为decimal(10,2)。

可是返工率却无法返回小数,如1/3应该返回0.33,但无法得到这个数字。

请问这是什么原因呢?

解决方法:

应该是语句参数上存在疏漏的地方,可写成如下形式“update客户返工统计set返工率=(返工件数*1.0)/加工件数”即可。

第8招:

如何在SQLServer2000中收缩数据库

故障现象:

在使用SQLServer2000的过程中,发现数据库日志非常大。

请问应当如何解决该问题。

解决方法:

可以通过“收缩数据库”操作解决该问题,具体操作步骤如下所述:

第1步,在SQLServer服务器上依次单击“开始”→“所有程序”→MicrosoftSQLServer→“企业管理器”菜单命令,打开SQLServerEnterpriseManager窗口。

使用Windows身份验证连接上SQLServer。

第2步,在左窗格中依次展开MicrosoftSQLServer→“SQLServer组”→“SQLServer服务器”→“数据库”目录,然后右键单击目标数据库名称(如CPCWdata),选择“属性”快捷命令。

在打开的“CPCWdata属性”对话框中单击“选项”标签,并在“故障还原”模型下拉菜单中选择“简单”模型。

最后单击“确定”按钮使设置生效,如图2008120233所示。

图2008120233选择“简单”数据还原模型

第3步,返回企业管理器窗口,右键单击目标数据库名称,选择“所有任务”→“收缩数据库”快捷命令,如图2008120234所示。

图2008120234选择“收缩数据库”命令

第4步,在打开的“收缩数据库”对话框中无须调整参数,直接单击“确定”按钮开始收缩数据库的操作。

完成后单击“确定”按钮即可。

日志在一些异常情况下往往是恢复数据库的重要依据,收缩数据库操作并不能在很大程度上减小数据库大小,其主要作用是收缩日志大小。

因此应当定期进行上述操作,以免数据库日志过大,如图2008120235所示。

图2008120235执行“收缩数据库”操作

第9招:

安装SQLServer2000时挂起

故障现象:

在安装SQLServer的过程中出现“以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动”提示框。

请问应当如何解决该问题?

解决方法:

遇到此类问题只需重新启动计算机并再次执行安装操作。

如果该问题依然存在,可以通过删除注册表相关键值的方法解决。

具体操作步骤如下:

第1步,依次单击“开始”→“运行”菜单命令,在运行编辑框中输入Regedit命令并回车,打开“注册表编辑器”窗口。

第2步,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager,然后选择“文件”→“导出”菜单命令。

第3步,在右窗格中右键单击PendingFileRenameOperations子键,执行“删除”快捷命令。

重新启动计算机并安装即可,如图2008120236所示。

图2008120236删除有关文件挂起的子键

第10招:

在Access中显示小数点前的数字0

故障现象:

在Access中输入1.3333等数值时显示正常,而输入0.3333时字段值就变成了.3333,少了小数点前面的0。

其中字段类型为单精度型。

请问应该如何解决该问题?

解决方法:

可以调整系统数字设置。

打开“控制面板”窗口,双击“区域和语言选项”图标。

在打开的“区域和语言选项”对话框中单击“区域选项”选项卡中的“自定义”按钮,打开“自定义区域”对话框。

将“零起始显示”设置为0.7,并连续单击“确定”按钮,如图2008120237所示。

图2008120237设置零起始显示类型

第11招:

在设计Access表时更改字段的默认数据类型

故障现象:

在一个Access表中的许多项数据都要用到同一种数据类型(如“单精度浮点小数”),请问如何设置能提高工作效率而免除逐个设置的麻烦?

解决方法:

其实很简单,只需在设计“表”的状态下依次执行“工具/选项”菜单命令,打开“选项”对话框。

切换至“表/查询”选项卡,将“默认字段类型”设置为默认需要的类型并单击“确定”按钮即可,如图2008120238所示。

图2008120238设置默认数据类型

第12招:

如何关闭Access表的自动填写功能

故障现象:

在Access表中连续在同一列中输入数字时,假如前两个是等差数列,再移到下一列时Access会自作聪明地自动添上一个数字。

例如某列输入2,移到下一列输入3,再移到下一列会自动出现4。

而实际上输入者可能并不需要这种功能,请问如何才能取消这项功能?

解决方法:

从Access2000开始,AutoFill作为一项新功能被加了进来。

一般只有通过在“选项”对话框中定义“默认值”来暂时取消该功能。

该功能已经与Access绑定,无法单独关闭该功能。

第13招:

Access表是否支持多表同时更新

故障现象:

在Access中是否支持两张或多张表格同时更新呢?

例如A表的数据被更改后自动更改与此表对应的B表的数据。

解决方法:

由于Access没有触发器,因此不可能在A表变动时自动更新B表。

必须有一个对象可以触发让B表根据A表变动的事件,在这个事件里面写代码时用JETSQL语句就可以更新。

这些事件一般都是写在“窗体”这个对象里面,因此修改数据也要通过“窗体”,而不是直接打开表来修改。

第14招:

Access自动编号递增到最大数值后如何动作

故障现象:

在Access中,如果自动编号递增到的最大数后还需递增,这会出现什么情况?

解决方法:

自动编号的数据类型是长整型。

如果自动编号从1开始递增,一旦到达2147483647会自动跳转到-2147483648,然后继续增大一直到0。

如果再次到达了1,而用户在设计表的时候定义了自动编号字段的“索引”属性为“有(无重复)”,则系统会提示错误。

如果没有设置,则自动编号继续从1开始增加。

第15招:

用代码修改Access数据表中单精度字段的小数位数

故障现象:

如何用代码修改Access数据表中单精度字段的小数位数,用语句“ROUND(字段名,小数位数)”能不能实现?

解决方法:

这是不能实现的。

在存储数据时小数位数是固定的,不能更改,只有显示时可以更改显示格式。

例如原来存储的小数155.55541可以更改显示格式为155.56,但是数据库中存储的仍然是155.55541,计算时也按存储的数据进行计算。

第16招:

让Access2000支持弹出式报表

故障现象:

在Access2000环境中开发并使用的数据库都使用了弹出式窗体,但是报表不能弹出,因为被弹出式窗体遮住了。

请问应该如何解决该问题?

解决方法:

可根据这样的思路来解决此问题:

重新建立一个新的数据库文件,将报表全部存放在该数据库中,然后建立链接表链接到当前的数据库中。

如果要预览、显示报表,就直接用命令行打开一个新的Access应用程序,而这个新的应用程序一打开就立即运行对应的报表,这样就相当于弹出报表了。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1