Sqlserver数据库出现“可疑”状态解决办法

打开企业管理器,运行以下SQL:

USE MASTER
GO
SP_CONFIGURE ‘ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE 数据库名字 SET EMERGENCY
GO
sp_dboption ‘数据库名字‘, ‘single user’, ‘true’
GO
DBCC CHECKDB(‘数据库名字‘,’REPAIR_ALLOW_DATA_LOSS’)
GO
ALTER DATABASE 数据库名字 SET ONLINE
GO
sp_configure ‘allow updates’, 0 reconfigure with override
GO
sp_dboption ‘数据库名字‘, ‘single user’, ‘false’
GO

IIS大量Timer_ConnectionIdle错误解决

在\LogFiles\HTTPERR的日志中发现了大量Timer_MinBytesPerSecond,Timer_ConnectionIdle错误,
根据网上的介绍,做了如下更改:
1) 从 IIS 管理器右键单击 本地计算机 选择 属性。勾选允许直接编辑配置数据库。
2) 在记事本中打开 C:\Windows\system32\inetsrv\MetaBase.xml 文件,
搜索MinFileBytesPerSec,将 MinFileBytesPerSec 设置从 240 更改为 0。
搜索ConnectionTimeout,将 ConnectionTimeout  设置从 120 更改为 600。
3)重新启动 IIS 。

IIS 报错500.13,服务器太忙,此时无法处理请求,通讯量超出网站的配置能力

一、【症状】

  1. XEON处理器,4G内存,WINDOWS 2003 最新企业版,IIS 6,ASP环境。
  2. 应用程序池达到6个,其中有一个程序池配置了20个进程。其余5个单独运行其它应用~
  3. 其中一个应用的ASP程序不间断报错:500.13–服务器太忙
  4. 在【应用程序日志】中大量报错:The run-time environment has detected an inconsistency in its internal state.This indicates a potential instability in the process that could be caused by the custom components running in the COM+ application, the components they make use of, or other factors. Error in d:\nt\com\complus\src\comsvcs\threads\stathread.cpp(285), hr = 8007000e: CSTAThread: CoGetApartmentID failed
  5. 中文版本错误:运行时环境检测到其内部状态存在不一致。这说明进程中存在潜在的不稳定性,可能是由于 COM+ 应用程序中运行自定义组件、COM+ 应用程序使用的组件或其他因素引起的。d:\nt\com\complus\src\comsvcs\threads \stathread.cpp(285)中的错误,hr = 80070008: CSTAThread: CoGetApartmentID failed
  6. 查看W3C版本的IIS日志,报错ASP_0148|Server_Too_Busy。
  7. 日志查看器中的EVENT为4689
  8. 使用性能查看器,查看Active Server Page-> Request Queued 队列,大于系统的Max Requsest Queued队列值。

二、【原因】

具体原因可参考【参考链接4】,MSDN微软官方团队的说法,针对桌面程序堆(HEAP)错误。简单的解释就是应用程序池太多,导致 DLLHOST.EXE达到最大的HEAP限制,不是WINDOWS底层的程序员,所以只明白这个错误大概的原理,具体原因还得参考【链接4】

三、【解决方案】

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows –> SharedSection = 1024,3072,512

打开注册表编辑器,将红字部分稍稍调大一些,比如1024,就可以避免堆错误。可以反复试验,也可以用链接4中的堆观察器(需要拥有最高权限才可安 装的小工具,底层驱动),观察每个进程的堆情况,进而根据IIS中应用程序池的设置,推算出最合适的大小。

===================================

四、【参考链接】

  1. http://bytes.com/topic/asp-classic/answers/632420-error-500-13-server-too-busy-event-4689-a
  2. http://forums.iis.net/p/1146213/1866717.aspx
  3. http://msmvps.com/blogs/alvin/archive/2008/04/07/com-the-run-time-environment-has-detected-an-inconsistency-in-its-internal-state.aspx
  4. http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx

链接1为英文的问题,链接2为解决方法但作者理解不对,链接3解决方法正确,且概念正确。链接4为官方解决方案,最权威。

IIS6假死(Httperr.log日志出现 Connections_Refused)解决办法。

症状:

1. 访问网站出现:

无法显示页面
要查找的页面是当前不可用。该网站可能遇到技术的问题,或者您可能需要调整您的浏览器设置。
2. Http错误日志文件(C:\Windows\System32\LogFiles\HTTPERR目录下)出现以下错误:
datetime———1_Connections_Refused-
datetime———24_Connections_Refused-
解决办法:
1. 打开注册表编辑器。
2. 找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP
3. 在Parameters键下新建一个DWORD项,名字为:EnableAggressiveMemoryUsage 值为1 ,重启服务器即可。
参考地址:

解决”为应用程序池 ‘XXXXX’ 提供服务的进程意外终止。进程 ID 是 ‘XXXX’。进程退出代码是 ‘0x80’。”

描述

为应用程序池 ‘XXXXX’ 提供服务的进程意外终止。进程 ID 是 ‘XXXX’。进程退出代码是 ‘0x80’。 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

原因

独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理

 

解决方法

1. 打开注册表编辑器。

2. 找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC

3. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 ,重启服务器即可。

 

一门比较新奇的语言:Haxe

Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用,还是网页;不论是应用于服务器还是个人桌面,Haxe都 可以胜任。”

Haxe分别为Windows、Mac OSX以及Linux安装程序进行打包,当然如果安装包出现问题或者洁癖者也可以进行手工安装。安装包及手动安装指南尽在下载页面

Haxe能做什么?

使用Haxe开发的程序可以被编译成:

  • JavaScript:你可以将Haxe程序编译成单一的.js文件,访问DOM APIs并拥有“自动完成”的支持,所有的依赖都在编译时都被搞定了。
  • Flash:Flash早就放弃移动平台,和桌面平台共存亡了。你可以将Haxe程序编译成一个.swf文件,支持从Flash Player 6到11的所有版本。
  • NekoVM:将Haxe程序编译成NekoVM字节码,用在服务器相关的程序(比如动态网页),同时也可以用在命令行或者桌面应用中。
  • PHP:你可以将Haxe程序编译成.php文件。
  • C++:你可以直接从Haxe源码生成C++的code。NME库使用这项特性在iOS和Android上直接运行Haxe的code。
  • C#和Java:使用 -java 和 -cs 来生成相应源码

为什么要用Haxe?

 

Haxe是一门很强力的语言,有很多引人注目的特性。目标是给开发者一套一体化的工具来创建网站或者应用,一门语言打天下。它可以实现:

  • ECMA风格的客户端、服务器端以及桌面型程序。
  • 风一般迅捷的编译速度。
  • 类型检查带来好处多多。
  • 给特定平台引入缺失的语言特性,例如为Flash开发引入InLining和generics特性、宏、为C++引入动态对象以及运行时类信息等等。
  • 无视平台差异,在不同平台之间轻松切换。
  • 统一的语法以及特性。
  • 一次编写,处处“自动”编译。

解救跨平台开发的一次尝试

 

由于它可以自动编译生成多种类型的代码,所以无论是iOS、Android、Windows Phone平台之间的本地程序跨平台,还是直接生成HTML5应用,甚至是跨越移动平台和桌面平台,都是解决应用在“不同平台之间”移植所带来痛苦的、一个不错的尝试。

愿望如此美好,引无数英雄尽折腰。不过要彻底根治跨平台的痛苦,恐怕是一条无比漫长艰辛的旅程。