windows-server-2012 – RackSpace Cloud中IIS8和MSSQL 2012之间
背景
多年来,我在一个服务器实例上托管了我的所有服务器功能,包括IIS,Apache,MySql和MSSQL,哎!随着我的客户端增长,这导致服务器忙碌时持久的SQL超时.在过去的一年里,我将其重组为三台服务器,一台用于IIS .Net 4的Windows Server 2012,一台用于Apache的CentOS实例,以及一台仅用于MSSQL 2012的Windows Server 2012.这些服务器都是RackSpace云中的虚拟实例,除了一件事之外,它似乎运行顺畅…… 在过去,我习惯于看到像这样的数据库通信错误…… SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 要么 System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. 我理解这些并处理过它们,我一般都不再理解它们了. 问题 我得到的是一种完全不同类型的超时错误,似乎与网络相关,例如… [SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider,error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time,or established connection failed because connected host has failed to respond.)] 和 [Win32Exception: The specified network name is no longer available] [SqlException: A transport-level error has occurred when receiving results from the server. (provider: TCP Provider,error: 0 - The specified network name is no longer available.)] 和 System.ComponentModel.Win32Exception (0x80004005): The semaphore timeout period has expired System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider,error: 0 - The semaphore timeout period has expired.) 和 System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out 和 System.ComponentModel.Win32Exception (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time,or established connection failed because connected host has failed to respond 也许部分区别在于IIS8比以前的版本给我更具体的错误消息(是吗?)……但是这些错误中的一些似乎是这两个Windows Server 2012实例之间的基本通信问题.我还注意到一些轶事证据,我的FTP客户端定期无法连接到Web服务器,并且Windows网络共享似乎间歇性地断开连接. 所以我被困在一个我有一台油井机的地方,每天都会让我莫名其妙地失败几次.因为我更像是一名开发人员而不是DBA或服务器管理员…我很困惑. 我的连接字符串总是这样…… SERVER=LiveDatabase;DATABASE=DataBaseName;UID=userid;PWD=pwd;Pooling=true;Min Pool Size=10;Max Pool Size=500;Connect Timeout=10; 其中LiveDatabase是计算机SQL Server Native Client配置中的别名设置.然后,Alias指向RackSpace专用网络192.168.x.x中的本地IP地址,以及服务器期望连接的非标准端口. 这些“超时”发生在看似随机的存储过程中,包括对数据库几乎没有开销的过程.
所有问题似乎都指向网络连接问题,但检查以下内容应该揭示一些线索.
检查并确认以下内容: >验证是否打开了正确的端口(1433)>检查数据库用户权限>尝试连续ping到/从SQL服务器>检查Virtual Nic的电源/睡眠选项>查看RackSpace是否可以为您提供NIC的任何日志,服务器之间的网络通信[端口,子网等]>检查Windows日志和SQL Server日志>打开SQL MGMT Studio上的活动监视器然后尝试重现错误(正在运行的应用程序?)并监视活动监视器中的“最近的昂贵查询” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Office365中访问Exchange CustomAttribute1
- windows-authentication – 使用TransportWithMessageCrede
- windows – 无法在我的桌面和远程桌面之间复制粘贴
- 在windows上安装ASP.NET Core 的 Docker 映像
- 从Windows复制文件到Linux显示乱码问题
- 在Windows 10中连接到VPN
- windows-7 – Selenium服务器无法启动
- windows – 如何使用Win32 API获取多个监视器的显示名称?
- windows-server-2008 – 使用Windows Server 2008的iPhone简
- 如何在Windows上从ffmpeg到python同时获取实时视频帧和时间
- 那里有没有工作和完整的1-Wire .NET库?
- windows和linux生成的可执行文件之间有什么区别
- 无法在Windows 7上的docker中运行默认的hello-wo
- windows-server-2008 – 在多个服务器中部署C#Wi
- windows-server-2003 – 在个人证书上禁用强私钥
- windows-8 – 使用Visual Studio 2012调试IIS 8.
- windows – 删除小于特定大小的文件
- windows – 重用Azure Web角色进行后端处理是一个
- Windows网络共享上的GIT中央存储库
- netcore开发windows普通服务(非Web)并一键发布到