سؤال

تم طرح الاستثناء التالي:

وظهور رسالة خطأ: Microsoft.SqlServer.Management.Smo.FailedOperationException: فشل قطرة لقاعدة البيانات '4d982a46-58cb-4ddb-8999-28bd5bb900c7. ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: حدث استثناء أثناء تنفيذ عبارة SQL للعمليات أو دفعة واحدة. ---> System.Data.SqlClient.SqlException: لا يمكن إسقاط قاعدة بيانات "4d982a46-58cb-4ddb-8999-28bd5bb900c7" لأنه قيد الاستخدام حاليا

وأي فكرة ما تسبب هذا؟

هل من الممكن استدعاء دالة SMO لوضع اللمسات الأخيرة أي عبارات SQL للتشغيل؟

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

المحلول

ووتخمين، وأنا أتساءل عما إذا كان تجمع الاتصال الخاصة بك تعول ضدك - أي كنت قد أعدم من قبل بعض الأوامر على SqlConnection أن محتجزة حاليا في جميع انحاء لإعادة استخدامها. قد تتمكن من محاولة تعطيل تجميع؟ (تجميع = false في سلسلة الاتصال، IIRC).

وأيضا - هل كان حريصا على إغلاق كل ما تبذلونه من الأوامر / اتصالات / القراء وما إلى ذلك؟ ومن الناحية المثالية عبر using؟ كملاذ أخير، هل يمكن أن حاول استخدام T-SQL لقتل جميع SPIDS أخرى من جهازك - hacky، لكنه قد عمل

.

نصائح أخرى

واستخدم Server.KillDatabase ( قاعدة بيانات سلسلة) طريقة التي تغلق كافة الاتصالات مفتوحة لكم.

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