غريب متقطعة خطأ اتصال SQL، وإصلاحات على إعادة التشغيل، ويعود بعد 3-5 أيام (ASP.NET)

StackOverflow https://stackoverflow.com/questions/428846

سؤال

لسبب كل 3-5 أيام لدينا تطبيق ويب يفقد القدرة على فتح اتصال ديسيبل مع الخطأ التالي، والشيء الغريب هو أن كل ما عليك القيام به هو إعادة الحاوية (وهو VPS) و واعادتها إلى وظيفة عادية. ثم بعد بضعة أيام أو نحو ذلك يحدث مرة أخرى. وقد أي شخص زيارتها مثل هذه المشكلة من أي وقت مضى؟ وقد لاحظت الكثير من ANONYMOUS تسجيل الدخول في سجل الأمان في منتصف الليل من خادم AD لدينا والتي هي غريبة، وأيضا بعض من IP في أمستردام. لست متأكدا من كيفية معرفة ما تعنيه بالضبط أو إذا تعلق الأمر أم لا.

Server Error in '/ntsb' Application.
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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Source Error:

Line 11:        
Line 12:        
Line 13:        dbConnection.Open()
Line 14:        
Line 15:        


Source File: C:\Inetpub\wwwroot\includes\connection.ascx    Line: 13

Stack Trace:

[SqlException (0x80131904): 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +248
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +245
   System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +475
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +260
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +2445449
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +2445144
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +354
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +703
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +54
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +2414696
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +92
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1657
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +84
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +1645687
   System.Data.SqlClient.SqlConnection.Open() +258
   ASP.includes_connection_ascx.getConnection() in C:\Inetpub\wwwroot\includes\connection.ascx:13
   ASP.default_aspx.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\Default.aspx:16
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
   System.Web.UI.Control.OnLoad(EventArgs e) +132
   System.Web.UI.Control.LoadRecursive() +66
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428


Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053 
هل كانت مفيدة؟

المحلول

وعدد من الاتصالات المسموح بها إلى خادم SQL هو مورد ثابت. هذا يبدو وكأنه لديك مكان التعليمات البرمجية التي لم يتم إغلاق انها الاتصال بشكل صحيح، وبعد فترة لا يمكنك فتح أي منها أكثر جديدة.

نصائح أخرى

ولقد واجهنا في الآونة الأخيرة مشكلة مشابهة في بيئة الإنتاج لدينا وبعد عدة جولات من جينج "debugdiag" وتحليل مقالب وصلنا إلى استنتاج مفاده أن كومة كائن كبير مجزأة إلى حد كبير وقد تسبب هذا. المرجع http://msdn.microsoft.com/en-us/magazine/cc534993. ASPX . باختصار، قد تشغيل التطبيق الخاص بك قصيرة من الذاكرة وليس لديها مساحة كافية contiguos اليسار إلى فتح اتصالات. يمكنك استخدام VMMap http://technet.microsoft.com/en-us/sysinternals/dd535533 لغرض تحديد المساحة الحرة المتوفرة. هل إعادة تدوير AppPools بشكل منتظم؟ AppPool الدموع المهملات أسفل تطبيق وتفرج عن أي ذاكرة مساعدة ومن ثم يحل أي القضايا ذات الصلة.

هل حاولت جمع المعلومات الأساسية مع بيرفمون والتعريف (تتبع) لمعرفة عدد وصلات مصنوعة، احصائيات الذاكرة وأشياء أخرى مثيرة للاهتمام؟

وقال "لقد لاحظت وجود الكثير من ANONYMOUS تسجيل الدخول في سجل الأمان في منتصف الليل من خادم AD لدينا والتي هي غريبة، وأيضا بعض من IP في أمستردام."

ويبدو كما لو كنت قد ربما يكون هناك شخص يحاول اقتحام النظام الخاص بك، وربما هذه هي الاتصالات التي لم يتم إغلاق. أنا أحب اقتراح استخدام بيرفمون والتعريف على رؤية المشكلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top