我们的网站已经开始像今天疯狂的时间。 我们所有的客户都发现它无法使用。 唯一的错误我们似乎可以追溯到潜在的问题是这样的:
SQL_HANDLE_DBC上的SQLAllocHandle失败错误ASP描述错误类别用于ODBC驱动程序的Microsoft OLE DB提供程序
我不知道它是什么意思或如何去解决它。 任何人曾经遇到过这个错误?
目前,你可以login到我们的网站,但是一旦你去做任何事情,你会发现自己已经退出或没有任何反应。 我们有很多Ajax正在进行,所以“没有任何反应”可能与Ajax页面由于注销而无法正确加载有关,因此没有显示给用户。
就像我说的,我不知所措 任何人有任何关于这个错误的build议?
编辑
我意识到这不一定是一个编程问题,但我们是一个刚刚在昨天开始讨论如何让备份服务器运行的小型创业公司。 显然我们谈得太晚了。 我们没有DBA,只有两位中级程序员尽力让我们的客户满意。 所以,如果您有任何帮助,请给予,但请不要立即closures我的问题。
编辑2
原来我们在我们的服务器上运行了一个名为“ServerMask”的东西,这使得我们的IIS服务器看起来像Apache一样对外界。 closures它解决了我们的问题。 仍然不知道为什么它搞砸了,但这显然是问题。
感谢所有试图帮助的人。
如果您有即时和实时的问题,而且他们现在正在影响您的业务,并且您没有内部的技术支持(或者如果您这样做,他们的智慧就会终结),我build议您打开一个与Microsoft技术支持的情况。 如果您有一种或另一种types的MSDN许可证,您可能会有一些免费的支持电话,否则您将不得不用信用卡支付,而且上次我必须支付250美元。
这个数字应该是1 800 642 7676(从我的显示器的远端粘在“以防万一”,我不认为它经常改变)。 与他们在过去有过良好的结果; 他们可能会或可能不会很快,但他们会相当彻底。
听起来你正在耗尽一些资源。 更改为MSSQL OleDB驱动程序而不是ODBC Oledb提供程序。 它可能无法解决问题,但它可能会发出更多的描述性错误。 检查连接池等经典资源争用问题。 发布更多细节。 我们可以解决它!
试试这个连接string:
<connectionStrings> <add name="ConnString" connectionString="Data Source=IPAddress\InstanceIfNeeded; Initial Catalog=DBName; User ID=YourID; Password=YourPWD; Max Pool Size=100; Connection Timeout=20;" providerName="System.Data.SqlClient"/> </connectionStrings>
它会切换到使用更新的OleDB驱动程序,并确保您的池大小和超时是正确的。 当然,您需要input数据源地址(IP地址或服务器名称),数据库名称和login凭证。 我假设SQLlogin在这里,但你也可以使用Windows凭据。
这听起来像是对我的ODBC驱动程序可能是一个问题,你连接到什么数据库系统?
听起来像是你的DBA的工作。 你的数据库是否可用? 是spids互相阻塞和超时? 你是否有过夜的维护工作(备份,DBCC,重build索引等),这些工作已经很久了,而且现在正在引发问题?
野驴猜测:你说:“你发现自己注销…”你如何pipe理login/注销? 是否涉及会话状态? 多less东西进入会话状态? 你设置它住多久? 通常,会话状态问题performance为内存不足或随机出现的会话数据丢失(如注销?),但它可能会将服务器发送到交换虚拟机。 会话状态是一种非常简单的方式来“记住”东西,使无状态的Web访问显示有状态,并不总是规模好。
底线是你必须弄清楚它失败的地方。 事件日志可能是最快的。