SQL 2008 应用程序中发生了无法处理的异常 如果单击继续,缺少根元素
SQLServer2008安装过程中遇到性能计数器解决方法

1.SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败问题的解决方法在Windo ws Server 2003 、Window s XP或者Wi ndows 2000中安装 SQL SERVER 2008 开发版和企业版时,会遇到“性能计数器注册表配置单元一致性”检查失败的问题(Window s Server 2008 由于暂时没有环境,尚未测试)(图一)安装提示错误信息为:(图二)解决方法:1. 在 Micros oft Window s 2003 或 Window s XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedi t.exe,再单击“确定”。
在 Window s 2000 中,使用 regedt32.exe 启动注册表编辑器2. 定位到以下注册表项:[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b]"Last Counte r"=dword:0000566a(22122)(这个值根据不同的机器各不相同,不是固定值)"Last Help"=dword:0000566b(22123)(这个值根据不同的机器各不相同,不是固定值)(图三)在图三中我们看到,Perfli b下存在两个子项目[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b\004][HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b\009]经过比较,发现在两个子文件夹项目下面存在的计数器最大值不同(图四)Perfli b\004中Co unter项目的最大值为22178(这个值根据不同的机器各不相同,不是固定值)(图五)Perfli b\004中He lp项目的最大值为22179(这个值根据不同的机器各不相同,不是固定值)(图六)Perfli b\009中Co unter项目的最大值为22122(这个值根据不同的机器各不相同,不是固定值)(图七)Perfli b\009中He lp项目的最大值为22123(这个值根据不同的机器各不相同,不是固定值)很显然,如图所示,在我的机器上[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b]中"Last Counte r"和"Last Help"这两项的值,和[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b\009]中保存的最大值是相同的,分别为22122和22123(这两个数值每台电脑各不相同),而和[HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s NT\Curren tVers ion\Perfli b\004]中保存的最大值不相同,正是由于这个差异,造成了SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败的故障。
服务器群集创建和SQL Server2008群集故障转移配置指南

服务器群集创建和SQL Server2008群集故障转移配置指南安克电子技术有限公司介绍服务器群集是一组协同工作并运行Microsoft群集服务(Microsoft Cluster Service,MSCS)的独立服务器。
服务器群集为资源和应用程序提供高可用性、故障恢复、可伸缩性和可管理性。
服务器群集允许客户端在出现故障和计划中的暂停时,依然能够访问应用程序和资源。
如果群集中的某一台服务器由于故障或维护需要而无法使用,资源和应用程序将转移到可用的群集节点上。
Windows群集(Windows Clustering)解决方案使用了名词“高可用性”而非“容错”。
容错技术提供更高层次的弹性和恢复能力。
容错服务器通常使用深层硬件冗余,加上专门的软件,几乎可以即时地恢复任何单一的硬件或软件错误。
这些解决方案要比Windows群集(Windows Clustering)解决方案昂贵得多,因为组织必须为处于空闲状态等待错误的冗余硬件支付费用。
服务器群集无法保证无间断运作,但是确实能够为多数关键任务应用程序提供足够的可用性。
群集服务可以对应用程序和资源进行监控,并能够自动识别和恢复众多故障状况。
这为在群集中管理工作负荷提供了灵活性。
另外,还提高了整个系统的可用性。
群集服务(Cluster service)的优点包括:1.高可用性:通过服务器群集,资源(例如:磁盘驱动器和Internet协议(IP)地址)的所有权会自动从故障服务器转移到可用的服务器。
当群集中的某个系统或应用程序发生故障时,群集软件会在可用的服务器上重新启动故障应用程序,或者将工作从故障节点分散到剩下的节点上。
由此,用户只在瞬间感觉到服务的暂停。
2.故障恢复:当故障服务器重新回到其预定的首选所有者的联机状态时,群集服务将自动在群集中重新分配工作负荷。
该特性可配置,但默认禁用。
3.可管理性:您可以使用“群集管理器”工具(CluAdmin.exe),将群集作为一个单一的系统进行管理,并对犹如运行于一个单一服务器的应用程序实施管理。
sql server 2008安装过程及报错的解决方法

一.启动和登录SQL Server Management Studio1.单击Windows开始菜单。
2.选择“程序”或者“所有程序”命令。
3.选择Microsoft SQLServer2008目录。
4.选择SQL Server Management。
图-1 登录SQL Server Management Studio图-2 登录时发生“无法连接”的错误发生上面这样的错误(图-2),一般来说只有两种情况:第一种情况是你的"服务器名称"项填写错误了,第二种情况就是检查你的服务器是否启动了,检查的方法如下:1.单击Windows开始菜单2.选择“程序”或者“所有程序”命令。
3.选择Microsoft SQLServer2008命令。
4.选择配置工具命令。
5.选择SQL Server配置管理器,打开后窗口如下图(图-3)注意看你的服务器是否如下图(图-3)所示,要连接的服务器是否处于"正在运行"状态。
启动模式就好解释了,自动就是随系统启动,手动就是啥时候需要了自己来启动。
图-3 服务器状态二.修改登录验证模式图-4 登录错误如果遇到用SQL Server身份验证模式登录出现上面(图-4)的错误的话,多是因为SQL Server服务器没有启用TCP/IP协议,按照下面的步骤检查一下设置:1.单击Windows开始菜单。
2.选择"程序"或者"所有程序"命令。
3.选择Microsoft SQLServer 2008命令。
4.选择配置工具命令。
5.单击SQL Server配置管理器。
6.展开配置管理器左边的"SQL Server网络配置"节点。
7.单击"MS SQL SERVER的协议"选项。
8.得到下图(图-5),设置启用它的Named Pipes(命名管道)和TCP/IP协议。
双击TCP/IP选项,弹出如下图(图-6)所示的对话框。
sqL2008连接失败解决办法

前提准备:mssql 2008已安装好了一个实例(我按默认情况下安装的实例是:SQLEXPRESS),并安装了SQL Server Management Studio工具。
为了满足可以用(local)或IP地址登录2008,需要以下配置支持:一、打开“SQL Server 配置管理器”,做如下配置:1、点开“SQL Server服务”节点找到我们安装的SQL服务:SQL SERVER(SQLEXPRESS),双击它打开属性设置对话框,把登录身份中的内置帐户选中,并下拉选择“Network Service”:它的意思是用于网络服务,这样一来可以远程的客户端就可以重启这个SQL Server服务了,要不然重启服务功能只限于本机。
2、点开“SQL Server网络配置”节点。
再点开“实例名的协议”(我的是SQLEXPRESS的协议)。
能看到我的实例是支持Share Memory, Named Pipes, TCP/IP, VIA这几种协议的。
右键点击“TCP/IP”选择启用。
再右键它选择属性,在属性对话框中,切换到“IP地址”卡片,能看到有“IP1”,“IP2”...“IPAll”这几类针对IP的设置信息。
首先,因为我们目前用不上“TCP动态端口”的功能,所以把这几类IP的TCP动态端口全设置为空(如果是0的话则表示启用动态端口功能)。
再因为我准备把SQLEXPRESS实例向外提供服务的端口设置为1433(和SQL2000的默认服务连接端口号保持一致性),所以需要针对各类IP把它们的TCP 端口一项设置为1433(其实仅仅只需要把IPALL的TCP端口号设置为1433,其它类型的均为空即可)。
再把各类IP的“活动”和“已启用”均设置为“是”。
点击“确定”保存配置。
3、点开“SQL Native Client 10.0配置”节点(如果没有的话,可能是你的软件安装得有问题,或者没有安装客户端工具:SQL Server Management Studio)。
sql server 2008 数据库中遇到的常见问题及解决问题办法

一、数据库无法连接到.解决方法:需要在服务器名称处输入【.\sqlexpress】单击连接二、无法连接到.\sqlexpress 用户‘sa’登陆失败。
(Microsoft SQL Server,错误:18456)解决方法:(1、SQL Server Management Studio Express(简写SSMS))(2、SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM))1.打开数据库,用windows身份连接数据库,登陆后,右键选择“属性”2.左侧选择“安全性”,选中右侧的“SQL Server和Windows身份验证模式”以启用混合登陆模式。
3.选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”4.展开“安全性”->“登陆名”->“sa”,右键“属性”5.左侧选择“常规”,右侧选择“SQL Server身份验证”,并设置密码6.选择“状态”,选中“启用”,点击“确定”7.右击数据库选择“方面”在下拉列表中选择“服务器配置”在下面选择“RemoteAccessEnabled”属性设置为“True”,点击“确定”。
8.数据库(SSMS)已设置完毕,先退出,再用sa登录,成功即表示sa 账户已经启用9.下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQLServer Browser”正在运行10.以下为英文版本界面。
右侧的TCP/IP默认是“Disabled”,双击打开设置面板将其修改为“Enabled”11.选择“IP Addersses”选项卡,设置端口“1433”12.将“Client Protocols”的“TCP/IP”也修改为“Enabled”配置完成重新启动SQL Server2008.三、附加数据库出现的问题解决方法:这个是SQL Server 登录账户没有权限,修改方法如下:开始- SQL 2008 - 配置工具- SQL Server配置管理器选择SQL Server 服务,双击SQL Server (SQLEXPRESS)将内置账户修改为LocalSystem 重启服务后重试附加,成功后将这里再修改回去四、附加数据库出现错误解决办法:按以下方式修改你的SQL的MDF和LDF属性就可以了,选择你的文件(两种文件均要修改为一样的权限)MDF文件:文件右键>>属性>>安全>>编辑>>添加>>高级>>立即查找>>在搜索结果中选择:Authenticated Users>>确定>>确定>>确定>>MDF文件属性对话框>>在组或用户名列表框中选择:Authenticated Users>>高级>>更改权限>>编辑>>选中“安全控制”>>确定>>确定>>确定>>确定。
Windows Server 2008上安装SQL Server 2008服务器端出现的问题及解决办法总结

Windows Server 2008上安装SQL Server 2008服务器端出现的问题及解决办法汇总今天windows server 2008上第一次安装数据库SQL Server 2008(以前的都是别的版本),出现了几次安装不下去的情况,通过从网上查找资料全都解决,最后顺利安装完毕。
以下是碰到问题的解决办法,希望对大家有所借鉴。
1.SQL server2008安装介质上文件的长路径名称不适用把安装文件Copy出来,放在一个英文名的文件夹下,路径中不能包含中文2.安装SQl 2008为SQL Server代理服务提供的凭据无效sql server 2008 代理服务提供的凭据无效sql server 2008 代理服务提供的凭据无效在Windows Server 2008安装SQL Server 2008出现的问题:安装时在“服务器配置”环节出现以下问题:为sql server代理服务提供的凭据无效为sql server服务指定的凭据无效为analysis services服务提供的凭据无效为reporting services服务提供的凭据无效为integration services服务提供的凭据无效解决方法:SQL Server代理选 SYSTEMSQL Server database engine 选 NETWORK SERVICESQL Serveranalysis services 选 NETWORK SERVICESQL Serverreporting services 选 NETWORK SERVICE SQL Serverintegration services 选 NETWORK SERVICE不要设置密码。
3.方法:如有侵权请联系告知删除,感谢你们的配合!。
安装MS SQL Server2008出错问题及解决办法

安装MS SQL Server2008出错问题及解决办法
1、安装SQL Server 2008 R2 Enterprise异常:'' is not a valid login or
you do not have permission”,如图提示:
安装到几乎要完成的时候爆出:'' is not a valid login or you do not have permission。
安装失败,真是头疼呀。
安装失败原因:该版本安装介质的一个BUG:电脑的登录账户名字和计算机名字相同时会导致这个错误产生。
解决方法:更换安装介质或者更改计算机名字Or电脑登陆帐户名字(记得先卸载再重装) 2、安装SQL Server出现“在创建窗口句柄之前,不能在控件上调
用 Invoke 或 BeginInvoke”的错误。
解决办法:
出现错误后,找到注册表的
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager"并将其下面的"PendingFileRenameOperations"或者”FileRenameOperations”的值删掉。
然后重新运行安装。
3、
\实例名”不行时,可以改成“你的计算机名”就可以了,。
JAVA连接SQL SERVER 2008遇到的问题及解决方法

Java连接sql server2008遇到的问题及解决方法在使用java连接sql server2008时,总会出现很多错误。
java连接sql server2008遇到的问题及解决方法很多。
single在这里分享下自己的经验,供大家参考。
java连接sql server2008遇到的问题之一:使用sql server2008时,无法使用SA用户登陆(应该是所有sql server版本都会出现这样的问题)解决方法:1、打Microsoft Sql Server Management Studio Express,以windows验证方式登陆,打开服务器属性窗口(在数据库服务器图标上点右键选"属性"),选择"安全性"选项,2、服务器验证方式选择SQL SERVERTT和windows验证方式,确认3、然后再到"安全性-登陆名"处设置SA用户属性,4、设置密码(此密码和Java连接代码中的密码一直)5、状态-启用SA用户做完这五个操作后,重新启动数据库,java连接sql server2008遇到的问题之一解决了。
java连接sql server2008遇到的问题之二:严重:此驱动程序不支持Java Runtime Environment(JRE)1.6版。
请使用支持JDBC4.0的sqljdbc4.jar,运行成功!背景:在使用java连sql server2008时,遇到的问题。
分析:数据库驱动问题。
解决方法:下载Microsoft SQL Server JDBC Driver2.0.据官方说明,支持sql2000/sql2005/sql2008必须确保CLASSPATH语句仅包含一个Microsoft SQL Server JDBC driver,例如sqljdbc.jar或sqljdbc4.jar。
sqljdbc4.jar类库要求使用6.0或更高版本的Java运行时环境(JRE)。
WIN7旗舰版下安装SQL SERVER 2008安装报错解决方案

WIN7旗舰版下安装SQL SERVER 2008安装报错解决方案在win7环境下,是完全可以解决SQL Server 2008兼容性问题的。
本人在第一次安装时,遇到了几乎很多人安装过程中都会出现的问题。
只好卸载了重新安装,第二次设置了一系列的东西,完全通过,安装成功!现就安装中遇到的问题和大家分享一下,以供参考!本人第一次安装时,遇到了这样的问题,在别人机子上安装的是SQL Server 2008简体中文企业版的,拉到我电脑上,却变成英文版了,于是在同样的下载地址上重新下载,并在解压之前关闭所有防火墙和杀毒软件,解压出来,终于是中文版了。
本人第一次安装时的系统设置:关闭windows防火墙、关闭360杀毒软件和360安全卫士、右键点击setup.exe—属性—兼容性—勾选兼容模式运行中的windows2000(网友介绍的方法)—勾选以管理员身份运行此软件,然后开始运行安装,到最后安装失败:期间报错情况:1.“此程序存在已知的兼容性问题”————解决方法:忽略他,点“运行程序”继续安装,事实证明,没影响的。
2.系统提示“在创建窗口句柄前,不能在控件上调用invoke或begininvoke”————解决方法:安装开始前:启动任务管理器—进程—找到mscorsvw.exe——选中后结束此进程,因为此进程会与安装产生冲突吧应该,所以在安装过程中最好不要打开microsoft office文件,因为这个进程是与office有关的。
当然有可能在安装后影响office出问题,大不了就修复一下或重装office。
3.安装步骤来到“安装程序支持文件时”进度条还没走完,安装界面就消失了,什么都没有了,当然没办法继续安装了。
这时可能是你的系统里面已经存在这个程序支持文件了,有可能是之前安装过程中遗留下来的。
在控制面板或程序管理软件的卸载程序见面找到他:然后把他卸载掉即可。
若之前有安装过而没安装成功,最好把C盘program files 文件夹里面的sql server 2008文件夹也删了,保险一点。
SQLServer2008R2数据库出现“可疑”导致无法访问解决办法

SQLServer2008R2数据库出现“可疑”导致⽆法访问解决办法今天在客户服务器的数据库⾥⾯的⼀个数据库突然出现了点问题,数据库状态变为可疑了,这个问题之前有见过,虽然解决了,但并没有把过程和解决⽅法记录下来,决定这次记录在博客园⾥,⽅便⾃⼰也⽅便他⼈在遇到这个问题的时候,能快速解决!废话不多说,先说说数据库变可疑的原因:在进⾏些不正常操作如数据库在读写时⽽⽆故停⽌数据库,从⽽导致Sql Server 数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄⾊的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的。
解决⽅法:当数据库发⽣这种操作故障时,可以按如下操作步骤可解决此⽅法,打开数据库⾥的Sql 查询编辑器窗⼝,运⾏以下的命令(注意:jd13dafa为对应可疑的数据库名称,执⾏时,请改为你的可疑的数据库名称)。
1、修改数据库为紧急模式ALTER DATABASE jd13dafa SET EMERGENCY2、使数据库变为单⽤户模式ALTER DATABASE jd13dafa SET SINGLE_USER3、修复数据库⽇志重新⽣成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。
当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。
但是,这些修复可能会导致⼀些数据丢失。
DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)4、使数据库变回为多⽤户模式ALTER DATABASE jd13dafa SET MULTI_USER5、开始->运⾏->输⼊cmd->打开DOS命令窗⼝,输⼊以下命令重启数据库服务(此处可以直接到服务列表⾥,重新启动数据库服务,为了⽅便我直接⽤DOS命令了)Net stop mssqlserver --停⽌服务Net start mssqlserver --启动服务重新打开Sql Server,查看被标记为“可疑”的数据库已恢复正常状态。
卸载SQL2008遇到问题(重启计算机失败、找不到SQL卸载程序)的解决办法

卸载SQL2008遇到问题(重启计算机失败、找不到SQL卸
载程序)的解决办法
重启计算机失败、找不到SQL卸载程序问题的解决⽅法,具体内容如下
问题1:很奇怪,控制⾯板找不到SQL的卸载程序,后来在⽹上查知需要修复windows卸载/安装程序,官⽹下载⽹址:
1.2 根据你的情况选择,我这⾥选择“卸载”
1.3 这⾥可以看到你电脑中所有安装程序,选中你所需要修复的卸载程序,点击next(我这图是卸载完再截的了,所以看不见SQL Management,其他程序同理)
完毕。
问题2:卸载sql2008为提⽰“重新启动计算机失败”,这是⼀个⽼问题,记录在这⾥备忘。
解决办法:2.1、在开始->运⾏中输⼊regedit(注册表编辑器)
2.2、到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
2.3、在右边窗⼝右击PendingFileRenameOperations,双击打卡,清除⾥⾯的值,确认
2.4、重新运⾏(Rerun)
以上就是重启计算机失败、找不到SQL卸载程序问题的解决⽅法,希望对⼤家顺利卸载sql2008有所帮助。
第41章 SQL Server 2008异常处理与调试

第41章SQL Server 2008异常处理与调试当代码产生错误时,在该场合下代码将不可能继续运行该代码,因为所得到的结果是错误结果。
这时候就用到了异常处理和调试。
41.1 异常处理在SQL SERVER 中进行异常处理时,要理解的第一件事情是系统中没有可用的“异常处理器”机制。
如果错误发生,那么在该场合下将不可能继续运行该代码,因为所得结果将是错误结果。
足以产生运行时错误的严重错误给SQL SERVER 带来了两方面的问题:一方面,所有当前的数据访问的对象模型都传递了错误消息,别一方面,在客户端应用程序中存在这样的错误都可以进行适当处理。
1.处理内嵌错误内嵌错误是一种令人讨厌的错误,而且一直会让SQL SERVER 继续运行,却不能得到我们期望的成功结果。
在内嵌错误产生的执行结果中,一般来说,错误号是可以利用的一点。
● 利用@@ERROR @@ERROR 包含了最后一条T-SQL 语句执行的错误号。
如果值为0,那么表示没有错误发生。
每次都用新的语句对@@ERROR 这种警告复位,这意味着如果想要延迟分析值,或者想多次再使用该值,就需要将该值移入到其他地方存储起来,为此定义了一个局部变量。
实际上,过程访问信息的唯一部分就是错误号。
该错误号驻留在@@ERROR 中,用于下一条T-SQL 语句,在下一条语句中,该错误号就会消失。
的区别(取决于服务器是怎么配置的,区分大小写会影响变量名)和● 在过程中使用@@ERROR 可以利用IF …ELSE 语句和@@ERROR (如果能立即测试该值并只需要测试一次)或者局部变量(在该变量中,已经移入了以前的@@ERROR 的值)来完成。
2.在错误发生之前处理错误有时SQL SERVER 并没有真正有效的方式确定发生的错误到底是什么,这时,如果想在错误发生之前阻止错误的发生,就需要检查程序并提前加以处理。
3.手工提示错误有时会遇到SQL SERVER 实际并不知道的一些错误,但我们希望它知道。
Sql Server 2008 R2数据库损坏修复

Sql Server 2008 R2数据库损坏修复
某外贸连锁店使用的SQL 2008R2数据库,正常使用中突然服务器断电导致的损坏,再次附加发现数据库报错不能正常运行,客户那边运维自己尝试了修复以及重建日志但是故障依旧,后来发现自己解决不了联系到我们进行处理。
数据库大小800M,底层数据看了一下正常,先用工具检测看下页面损坏情况,
可以看到确实是有页面损坏,直接新建库替换重新生成日志在看损坏情况,(2008R2重建方法可以自行网上寻找)
替换之后日志重建成功,但是DBCC 检测发现报错系统表预检查: 对象 ID 3。
无法使用闩锁类型 SH 读取并闩锁页 (1:37297)。
由于不可修复的错误,CHECK 语句已终止。
这种报错很多见,在SQL2000下修复容易一些,但是2008R2很多修复语句是不通用的。
这种故障一般是系统页面损坏导致,损坏的表ID是3.,通过语句查询ID3所在的系统表。
将损坏的系统表进行修复或许重建,再次重建日志,DBCC 检测之后发现数据库正常,且表内数据可以正常访问!
现在高版本的数据库有页面自动修复功能,所以损坏的几率也就下降了很多,但是还是有不少意外情况发生,这已经是3天内修的第5个2008数据库了,全部完整修复可正常使用!
目前可完整高效率修复MSSQL 6.5 7.0 2000 2005 2008 2008r2 2012 据库置疑,可疑,恢复挂起,Suspicious,系统表损坏!索引断裂,页撕裂,通讯中断,一致性错误,数据库还原还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复和某些表打不开的错误修复!。
Microsoft SQL Server 2008-异常处理

– 声明方法中可能会产生的异常,要求调用者必须处理
13
try catch
捕获异常
14
捕获异常
try{ 被监控的代码
}catch(ExceptionType e){ 对异常进行处理
}catch(ExceptionType2 e){ 对异常进行处理
}
• 使用try包围需要监控的代码 • 为catch指定想要捕获的异常类型 • 在catch块中编写处理逻辑 • 可以使用多个catch分别处理不同的异常
StackOverflowError VirtualMachineError
NoClassDefFoundError
简介
因为内存溢出或没有可用的内存提供给垃圾回收 器时,Java 虚拟机无法分配一个对象,这时抛出 该异常。
当应用程序递归太深而发生堆栈溢出时,抛出该错 误。 当 Java 虚拟机崩溃或用尽了它继续操作所需的资源 时,抛出该错误。 当 Java 虚拟机或 ClassLoader 实例试图在类的定义 中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到 该类的定义时,抛出此异常。
15
异常处理说明
• 异常处理有三种情况
– 被监控的代码中没有发生异常
• 程序跳过catch子句,继续执行后续代码
– 发生的异常类型在catch列表中
• 程序跳过try块内异常行之后的代码 • 进入对应的catch子句执行 • 程序继续执行catch块之后的代码
– 发生的异常不在catch列表中
• 方法立刻退出,异常向上传递给调用者
java.io.IOException
当发生某种 I/O 异常时,抛出此异常。
SQLSERVER2008数据库可疑的解决步骤

SQLSERVER2008数据库可疑的解决步骤第一篇:SQLSERVER2008 数据库可疑的解决步骤把问题数据库备份后直接删除停掉SQLSERVER服务,把服务器上出问题的数据库, 假设名称为ErrorDB的数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件也删除 2 新建同名数据库启动SQLSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致 3 用备份的数据库文件替换新的数据库文件停掉SQLSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件)启动SQLSERVER服务,打开数据库,这时数据库应该是不能访问的-------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式----------------------4 将数据库设置为应急状态alter database ErrorDB set emergency 执行后,为了保险起见,重新停止、开启的SQLSERVER服务再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作 5 将数据库设置为单用户模式ALTER DATABASE ErrorDB SET SINGLE_USER 6 对数据库进行检查修复dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(EIMSDb,REPAIR_REBUILD)操作后,仍然停止启动SQLSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)重新打开数据库,已经是正常状态了,没有应急提示了7 取消单用户模式exec sp_dboption EIMSDb, N'single', N'false'至此,数据库恢复完毕,对数据库进行BAK第二篇:数据库可疑SQLSERVER2008 数据库可疑的解决步骤2012年8月28日下午公司内部ERP系统突然访问提示超时,经检查发现是数据库可疑造成.停掉SQLSERVER服务,停掉网站把出问题的数据库文件及日志拷贝到其他目录进行备份.尝试脱机,或分离等,均无效果.在其他机器尝试还原问题数据库,提示日志文件被破坏.在网上搜索其他帮助并求助朋友后,恢复成功,操作如下:-------------------------备份并新建同名数据库,并替换原数据文件-----------------------------1 把问题数据库备份后直接删除停掉SQLSERVER服务,把服务器上出问题的数据库, 假设名称为ErrorDB的数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件也删除新建同名数据库启动SQLSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致用备份的数据库文件替换新的数据库文件停掉SQLSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件)启动SQLSERVER服务,打开数据库,这时数据库应该是不能访问的-------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式----------------------4 将数据库设置为应急状态 alter database 数据库实体名set emergency 执行后,为了保险起见,重新停止、开启的SQLSERVER服务再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作将数据库设置为单用户模式ALTER DATABASE数据库实体名SET SINGLE_USER 6 对数据库进行检查修复dbcc checkdb(数据库实体名,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(数据库实体名,REPAIR_REBUILD)操作后,仍然停止启动SQLSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)重新打开数据库,已经是正常状态了,没有应急提示了取消单用户模式exec sp_dboption 数据库实体名, N'single', N'false' 至此,数据库恢复完毕,对数据库进行BAK 重启网站,访问正常。
安装sqlserver2008时的4个常见错误和解决方法

安装sqlserver2008时的4个常见错误和解决⽅法可能由于操作系统不同,或者在安装SQL 2008的时候已经安装SQL其他版本,因此可能会遇到问题,那么这时我们的实际经验和动⼿测试的能⼒也是⾮常重要的,这样才能少⾛弯路。
问题1:安装sql server 2008 R2,安装过程中提⽰错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。
请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。
之前我的电脑上确实装了vs2008,于是我准备去下载⼀个SP1补丁包,⼀看800多M的⼤⼩,本来安装这个软件就已经很⿇烦了,还得花时间下载,那有没有其他更好的办法呢?其实很简单,只需要改⼀下注册表即可,⽅法如下:解决⽅法:修改注册表。
运⾏注册表,将HKEY-Local-Machine/Software/Microsoft/DevDiv重命名就⾏。
安装好后再将其改回。
将SQL Server安装返回上⼀步,然后再点下⼀步,这个问题就成功解决了。
问题2:安装SQL2008,提⽰删除SQL2005Express⼯具的解决⽅法在安装SQL2008的时候,提⽰要删除SQL2005EXPRESS⼯具,在⽹上找了很多资料,终于找到⼀个⽐较⽅便的⽅法了,希望能帮助⼤家。
修改注册表:HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM,将ShellSEM项重命名或删除即可。
⽆法安装 SQL Server 2008 Management Studio Express故障现象:在windows7中已经安装好SQL Server 2008 Express 并且已经安装好SP3,然后从微软官⽹下载SQL Server 2008 Management Studio Express 安装,发现在安装过程中,没有添加 Management ⼯具这⼀项。
SqlServer2008误操作数据(delete或者update)后恢复数据的方法

SqlServer2008误操作数据(delete或者update)后恢复数据的⽅法实际⼯作中,有时会直接在数据库中操作数据,⽐如对数据进⾏delete或者update操作,当进⾏这些操作的时候,如果没有加上 where条件或者where条件不合理,那么导致的结果可想⽽知,如果操作的⼜是线上数据库,那么这个后果将会⾮常严重。
当事情发⽣后,我们要想办法补救,针对于sqlserver2005数据库,有个很出名的⼯具Log Exploer。
具体操作使⽤⼤家可以⾃⾏搜索;针对于sqlserver2008也有这样的⼯具,但是⼤多是需要付费的...我们尝试⽤ sqlserver的事务⽇志来恢复这些受影响的数据。
⽤事务⽇志恢复数据,需要两个必要条件:1、正确的完整数据库的最后⼀次备份如果没有数据库完整备份,是不能做事务⽇志备份的,所以建议创建数据库时,恢复模式⼀项,应当选择'完整'。
2、正确的即时点即所要恢复到数据的时间点,这个时间点⼀般选择误操作发⽣时间往前⼀点的时间点,所以当误操作发⽣时,应尽量记下这个时间点,不然可能导致恢复的数据不够准确。
⽐如,误操作发⽣于16:00,这个时间点我们可以选择15:59,如果选择的太靠前,⽐如15:30,那么15:30--15:59这段时间内的数据就不能被恢复了。
下⾯记录具体的操作步骤:⾸先新建⼀个数据库dbtest,注意创建数据库时恢复模式⼀项选择'完整',在数据库中新建⼀个Table_1,并插⼊⼀些数据,然后对该数据库做⼀个完整备份。
这个备份,主要是模拟实际⼯作中对数据库的备份,实际中由于数据库可能很⼤,所以⼀般备份是⼀天或者两天进⾏⼀次。
备份成功后,接着再往Table_1中插⼊⼏条数据, 模拟在原数据库基础上新增加的数据,然后执⾏⼀个sql语句:delete from Table_1,模拟误操作,并记录下时间,⽐如16:00.误操作发⽣后,我们要赶紧进⾏事务⽇志的备份,我们就是根据此备份来还原数据的。
SQL 2008 错误916

症状在Microsoft SQL Server 2008 年SQL Server 管理Studio,您展开数据库文件夹,在对象资源管理器中。
执行此操作时您可能会收到以下错误消息:服务器主体X将不能访问数据库Y(Microsoft SQL Server,错误: 916)在当前安全上下文注意此错误信息中X为用户名称的占位符。
Y为数据库名称的占位符。
因此,您无法访问在对象资源管理器中的数据库文件夹中的任何数据库。
原因如果满足下列条件,则会出现此问题:∙您没有管理凭据。
此外,您没有访问某些数据库SQL Server 2008 中。
∙您修改了数据库文件夹的对象浏览器的详细信息页上的列的列表。
此外,您包含以下列之一:o大小(MB)o数据空间使用(KB)o索引空间使用(KB)o空间可用(KB)o默认文件组o邮件主机o主文件路径备注o默认状态下,这些列不是在数据库文件夹的对象浏览器的详细信息页上可见的。
若要在对象资源管理器的详细信息页上查看这些列,用鼠标右键单击列标题,然后单击列。
您没有访问某些数据库时,这些列会导致该问题。
o排序规则列包含在默认的列的数据库文件夹中可见的。
o对数据库启用关闭自动选项时,排序规则列将导致问题。
此外,您没有访问数据库的权限。
解决方案若要解决此问题,请按照下列步骤操作:1.单击开始,指向程序、指向Microsoft SQL Server 2008,然后单击$ SQLServer 管理Studio。
2.连接到服务器对话框中单击所需的服务器类型列表中键入服务器名称框中的服务器名称,然后单击连接的服务器。
3.在对象资源管理器中,单击数据库文件夹。
4.在对象浏览器的详细信息页上用鼠标右键单击列标题,然后单击重置视图。
注意如果不可见对象浏览器的详细信息页按F7。
或单击视图菜单上的对象浏览器信息。
5.在对象资源管理器中,用鼠标右键单击数据库文件夹,然后单击刷新。
6.在文件菜单上单击退出。
注意如果仍然收到错误消息后请按照步骤 1 至步骤 6 中"症状"部分提到的排序规则列中可能导致该错误消息。