ما معنى "exec sp_reset_connection" يعني في Sql Server منشئ ملفات التعريف?[مكررة]

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

سؤال

هذا السؤال سبق الجواب هنا:

في محاولة لفهم ما منشئ ملفات التعريف Sql يعني عن طريق انبعاث "sp_reset_connection".

لدي ما يلي: "exec sp_reset_connection" خط تليها BatchStarting وأكمل ،

RPC:Completed       exec sp_reset_connection
SQL:BatchStarting   SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
SQL:BatchCompleted  SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]    

أساسا هل الخط الأول "exec sp_reset_connection" يعني العملية كلها (الاتصال افتتح تحديد stmt تشغيل ثم يتم إغلاق الاتصال وإعادتها إلى بركة) فقط ؟ أو الاتصال لا يزال في مرحلة.

و لماذا sp_reset_connection أعدم قبل بلدي select, لا ينبغي إعادة تعيين تأتي بعد المستخدم sql ؟

أنا أحاول أن أعرف هل هناك طريقة لمعرفة المزيد من التفاصيل عند الاتصال فتحت مغلقة ؟

من خلال رؤية "exec sp_reset_connection", هل هذا يعني أن الاتصال هو مغلق ؟

هل كانت مفيدة؟

المحلول

مثل إجابات أخرى قال ، sp_reset_connection يشير إلى أن تجمع الاتصال يتم إعادة استخدامها.يكون على بينة من نتيجة!

جيمي ميس' بلوق MSDN قال:

sp_reset_connection لا إعادة تعيين مستوى عزل المعاملة إلى الخادم الافتراضي من السابق الاتصال الإعداد.

التحديث:بدءا من SQL 2014, العميل السائقين مع TDS النسخة 7.3 أو أعلى مستويات عزل المعاملة سيتم إعادة تعيين إلى الافتراضي.

ref: SQL Server:مستوى عزل تسرب عبر الاتصالات المجمعة

هنا بعض المعلومات الإضافية:

ماذا sp_reset_connection تفعل ؟

الوصول إلى البيانات API طبقات مثل ODBC ، OLE-DB النظام.البيانات.SqlClient جميع استدعاء (الداخلية) الإجراء المخزن sp_reset_connection عند إعادة استخدام اتصال من تجمع الاتصال.ذلك هل هذا إلى إعادة تعيين حالة اتصال قبل أن يحصل على إعادة استخدامها ، ومع ذلك العدم هو توثيق ما الأشياء تحصل على إعادة تعيين.يحاول هذا المقال أن الوثيقة أجزاء الصدد أن تحصل على إعادة تعيين.

sp_reset_connection إعادة تعيين الجوانب التالية اتصال:

  • كل خطأ الدول والأرقام (مثل @@خطأ)

  • توقف جميع الأوروبية (تنفيذ السياقات) التي هي المواضيع الطفل من أحد الوالدين EC تنفيذ استعلام متوازي

  • ينتظر أي المتميز I/O العمليات المعلقة

  • يحرر أي عقد مخازن على الخادم عن طريق الاتصال

  • يفتح أي العازلة الموارد التي يتم استخدامها من قبل الاتصال

  • بتحرير كافة الذاكرة المخصصة المملوكة من قبل الاتصال

  • مسح أي عمل أو مؤقتة الجداول التي تم إنشاؤها من قبل اتصال

  • يقتل جميع المؤشرات العالمية المملوكة من قبل اتصال

  • يغلق أي فتح SQL-XML مقابض مفتوحة

  • حذف أي فتح SQL-XML العمل ذات الصلة الجداول

  • يغلق جميع جداول النظام

  • إغلاق كافة الجداول المستخدم

  • يسقط كل الكائنات المؤقتة

  • إحباط فتح الصفقات

  • العيوب من المعاملات الموزعة عندما جند

  • Decrements مرجع للمستخدمين في قاعدة البيانات الحالية التي إصدارات مشتركة تأمين قاعدة البيانات

  • يحرر المكتسبة أقفال

  • النشرات أي المكتسبة مقابض

  • يعيد تعيين كافة الخيارات إلى القيم الافتراضية

  • يعيد @@rowcount القيمة

  • يعيد @@الهوية القيمة

  • إعادة تعيين أي دورة على مستوى التتبع الخيارات باستخدام dbcc traceon()

  • يعيد إلى CONTEXT_INFO NULL في SQL Server 2005 والإصدارات الأحدث [ ليس جزء من المقال الأصلي ]

sp_reset_connection لن إعادة تعيين:

  • سياق الأمان الذي هو السبب تجمع الاتصال مباريات اتصالات على أساس الدقيقة سلسلة الاتصال

  • تطبيق الأدوار دخلت باستخدام sp_setapprole منذ تطبيق أدوار لا يمكن أن يكون عادت

ملاحظة:أنا بما في ذلك قائمة هنا كما كنت لا تريد أن تضيع في أي وقت مضى عابرة على شبكة الإنترنت.

نصائح أخرى

إنها إشارة إلى أنه يتم استخدام تجمع الاتصالات (وهو أمر جيد).

لاحظ مع ذلك:

إذا قمت بإصدار SET TRANSACTION Isolation LEVEL في إجراء مخزن أو مشغل، فعندما يعود الكائن للتحكم، تتم إعادة تعيين مستوى العزل إلى المستوى الساري عند استدعاء الكائن.على سبيل المثال، إذا قمت بتعيين القراءة القابلة للتكرار في دفعة، ثم قامت الدفعة باستدعاء إجراء مخزن يقوم بتعيين مستوى العزل إلى قابل للتسلسل، يعود إعداد مستوى العزل إلى القراءة القابلة للتكرار عندما يقوم الإجراء المخزن بإرجاع التحكم إلى الدفعة.

http://msdn.microsoft.com/en-us/library/ms173763.aspx

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