হাইপার-ভিতে এসকিউএল সার্ভার চালানোর সময় "অপেক্ষা অপারেশনটির সময়সীমা শেষ"


22

আমি হাইপার-ভি ইনস্টেন্সে এসকিউএল সার্ভার (2012) চালাচ্ছি। এতে প্রচুর সংস্থান রয়েছে এবং 25% মোট সংস্থান থেকে সংরক্ষিত, ভিএইচডি দ্রুত সাড়া সময়ের জন্য খুব দ্রুত এসএসডি ড্রাইভে রাখা হয়।

এসকিউএল সার্ভার ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিকে অল্প সময়ের জন্য অ্যাক্সেস করা হয়নি যখন তারা ততক্ষণে "ওয়েট অপারেশন টাইম আউট" ত্রুটি পেয়ে থাকে। পুনরায় লোড করা বা ডাটাবেস অ্যাক্সেস করতে পুনরায় চেষ্টা করার সময় মনে হয় এটি "জেগে উঠেছে" এবং এটি আগের মতো দ্রুত is

এই ধরণের পরিবেশে নরম ঘুমের মোডটি না ঘটে তা নিশ্চিত করার কোনও উপায় আছে কি?

যোগ করা হয়েছে

ব্যতিক্রমের বিবরণ: সিস্টেম.কম্পোনেন্টমোডেল in উইন 32 এক্সসেপশন: অপেক্ষা অপারেশনটির সময়সীমা শেষ


1
ডাটাবেস বিকল্পগুলিতে চেক করার একটি সম্ভাবনা হ'ল অটো ক্লোজকে মিথ্যাতে সেট করা আছে কিনা তা নিশ্চিত করুন। যদি এটি ঘটে থাকে তবে আপনি এসকিউএল লগের সমাপনীকরণ এবং খোলার ইভেন্টগুলি দেখতে সক্ষম হবেন।
জেসন

অটোক্লোজ পরিবর্তন করা কার্যকর হয়নি, সম্ভবত এটি যে ডাটাবেসগুলি ধীর হয়ে যায় তা নয়। সমস্যাটি সম্ভবত হাইপার-ভি এবং এসকিউএল সার্ভার সংমিশ্রণের সাথে সম্পর্কিত।
এরিক হার্লিটজ

অন্যান্য উত্তর কাজ চেষ্টা করবেন না যদি stackoverflow.com/a/28626223/1290868 যা কি হয় না বলে support.microsoft.com/en-us/kb/2605597 এই হতে পারে সহায়তা।
মাইয়াস

SQL সার্ভারের জন্য, লক্ষ্যটি 100% সংরক্ষিত হওয়া উচিত।
জোয়েল কোয়েল 2'15

উত্তর:


22

এই আদেশটি কার্যকর করার চেষ্টা করুন:

এক্সপি এসপিউডেস্টেস্টস

এটি, অবিশ্বাস্যভাবে, সমস্যার সমাধান করেছে।

কমান্ড কার্যকর হওয়ার আগে তার ত্রুটির উপরে কোডটি কার্যকর করা হবে।

[Win32Exception (0x80004005): The wait operation timed out]

[SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1742110
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5279619
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +242
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1434
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
   System.Data.SqlClient.SqlDataReader.get_MetaData() +90
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +365
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite) +1355
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +175
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +53
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +134
   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41
   System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +140
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +316
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +86
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1482
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +138
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +79
   System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
   System.Web.UI.Control.PreRenderRecursiveInternal() +83
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +974

3
পরিণতি বুঝতে না পেরে কেবল এই আদেশটি চালাবেন না। sqlperformance.com/2013/07/sql-statistics/statistics-updates এবং stackoverflow.com/questions/23440770/...
Rosdi

2
এই কমান্ডটি চালানোর আগে আপনার সম্ভাব্য পরিণতি (গুলি) জানা উচিত (আসলে প্রতিটি কমান্ড যা আপনি চালিত)।
সোহেল xIN3N

3
আমি এর পরিণতি সম্পর্কে আপনার উদ্বেগ হিসাবে সত্যই আগ্রহী? লিঙ্কযুক্ত পোস্টটি বলছে "আসলে এটি আরও ভাল ক্ষতি করতে পারে এবং এটি সর্বনিম্ন প্রস্তাবিত বিকল্প।" - তবে এটি মনে হচ্ছে একমাত্র সমস্যাটি হ'ল এটি আপনার রক্ষণাবেক্ষণের পরিকল্পনাগুলি ইতিমধ্যে কাজগুলি করতে পারে বা অদক্ষ হতে পারে - বিকল্প যদি কোনও এসকিউএল সার্ভার উদাহরণ হিসাবে সম্পূর্ণরূপে ভেঙে যায় - তবে আমি নিশ্চিত নই কেন আপনি মন স্থির করবেন না যে এটি ধীর হতে পারে I'm বা নিরর্থক?
ইয়ান গ্রেনার

1
আমি @ ইয়ানগ্রেনজারের মতো একই জিনিসটি নিয়ে ভাবছি ... যে কারও পক্ষে মৃত্যুদণ্ড কার্যকর exec sp_updatestatsকরা খারাপ ধারণা কেন তা বিস্তারিতভাবে বিবেচনা করে ?
ফ্লো

1

আমারো একই ইস্যু ছিল. দৌড়ানো exec sp_updatestatsকখনও কখনও কাজ করে, তবে সবসময় না। আমি NOLOCKপ্রশ্নগুলি ত্বরান্বিত করতে আমার প্রশ্নের মধ্যে বিবৃতিটি ব্যবহার করার সিদ্ধান্ত নিয়েছি । NOLOCKআপনার FROM ধারাটির পরে কেবল যুক্ত করুন , যেমন:

SELECT clicks.entryURL, clicks.entryTime, sessions.userID
FROM sessions, clicks WITH (NOLOCK)
WHERE sessions.sessionID = clicks.sessionID AND clicks.entryTime > DATEADD(day, -1, GETDATE())

এখানে সম্পূর্ণ নিবন্ধ পড়ুন ।


1

আমার ঠিক একই সমস্যা ছিল এবং আমি দেখতে পেয়েছি যে এটি হাইপার-ভি ভিএম-তে পর্যাপ্ত মেমরির বরাদ্দের কারণে নয়। আমার স্মৃতি গতিশীল হয়ে গেছে তবে এটি প্রয়োজনীয় হিসাবে স্কেলিং হয়নি - একটি নির্দিষ্ট পরিমাণ মেমরির দিকে স্যুইচ করা, আমার ক্ষেত্রে 32 জিবি, সমস্যার সমাধান করেছে। SqlBulkCopy এবং SQL সার্ভারের মধ্যে মিথস্ক্রিয়াটি যখন প্রয়োজন হয় তখন আরও মেমরি পেতে সক্ষম হয় না বলে মনে হয় ??

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.