الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عدم أستجابة الخادم في عمل النسخة الاحتياطية في حالة تجاوز 700 Mb

بدأه mam555 في 13 سبتمبر 2009 · 4 رد · 573 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

أواجه مشكلة في عمل نسخة أحتياطية لقاعدة البيانات SQLEXPRESS 2005

يعمل الكود هذا في حالت أن قاعدة البيانات صغيرة لا تتجاوز 400 MB

 Dim con As SqlConnection
	Dim cmd As SqlCommand
 con = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False")
 cmd = New SqlCommand("backup database NAME_DATAB to DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\BAK1.bak'", con)
		con.Open()
		cmd.ExecuteNonQuery()
		con.Close()

وأذا زاد حجم قاعدة البيانات عن 700 MB فأنة بظهر رسالة خطأ

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

RESTORE DATABASE is terminating abnormally.

#2

جرب أن تزيد في الوقت المخصص للإتصال في جملة الربط و ذلك بزيادة العنصر Connect Timeout=60 مع تجربة وقت أكبر في حالة الحاجة. أعد العملية بجملة الربط التالية :

"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False;Connect Timeout=60"

للمزيد من المعلومات : دراسة حول كيفية إنشاء نسخة احتياطية لقاعدة بيانات Sql Server و استعادتها برمجيا

تحياتي...

#3

تعقبا على كلام السيد محمد رضى حجم الداتا بيس الخاصة بي لحد هذه اللحظة 39GB

و هذه اكبر فترة اتصال برايي Conniction String More Time

Dim SqlCon As New SqlConnection("initial catalog=DBNAME; Data Source=" & ServerName & "; Connection Timeout=300; User Id=sa; Password=MyPassword; Min Pool Size=20; Max Pool Size=500; ")

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#4

بارك الله في علمكما وإن شاء الله أن يجعله شفيع لكما ,,,

ولكن توجد نقطة وهي أن لو عملت نسخة أحتياطية لقاعة البيانات وطلبت أسترجاعها على سيرفر أخر فأنة يعطي خطأ وتتعطل قاعدة البيانات ...

ولكن البرنامج يعمل بشكل ممتاز على نفس الجهاز ...

وشكراَ ,,,

#5

السلام عليكم

في هذه الحالة لا نحتاج الى رفع قيمة Connect Timeout وانما رفع قيمة commandTimeout ل SqlCommand .

وبالنسبة للاسترجاع على جهاز آخر ولتسهيل الامر يجب ان يكون مكان القاعدة على الجهازين نفس الشيء مثل c:\dbs وايضا يجب ان تكون نفس الشيء من ناحية الجداول .

واذا لم يتوفر الشرطين عليك باستخدام الخيارات الموجودة في الامر Restore مثل الخيار with move

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…