منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ابسط مثال لعمل نسخة احتياطية لقاعدة البيانات sql server بالكود ايضا استرجاعها
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .


الصيغة العامة لها (اخذ نسخة)
كود :
"backup database mydb to disk='d:\mydb.bak'"
الاسترجاع
كود :
"RESTORE DATABASE mydb FROM disk='d:\mydb.bak'"




هذا لو المكان ثابت والاسم تكتفي بكتابة الاسم ومسار النسخة بالكود اما لو اسم القاعدة يتغير وكذلك مسار النسخة فتستخدم متغيرات تاخذ قيمها من مربعات نصوص او ادوات مناسبة


هذا
المثال
وجربت كلا من النسخ والاستعادة

ان واجهت خطا فقم بحذف الامتداد

كود :
".bak"
السلام عليكم اخي سعود حياك الله لايجوز حذف الامتداد .bak
وذالك لانة يدل على نوع ال backup الماخوذ من ال SQL Server

واريد ان اضيف لما تفضلت بة كود لاخذ نسخة قاعدة بيانات الفرق في الكود ان كل كلما نقوم باخذ نسخة من قاعدة البيانات يقوم الكود بتوليد اسم للنسخة الماخوذة يكون الاسم عبارة عن التاريخ والوقت الذي تم اخذ نسخة قاعدة البيانات فية

اترككم مع الكود
PHP كود :
Declare @NameDate as varchar(50)
Set @NameDateREPLACE(Convert(Nvarchar(50),GetDate(),113), ':' '-')
Declare @
BcakupDate varchar(1000)
set @BcakUpDate=N'D:\MyFolder\' + REPLACE(@NameDate,' ','-') +N'.bak'
backup database MydatabaseName to disk =@BcakUpDate
WITH NOREWIND,COMPRESSION, INIT, FORMAT, CHECKSUM, STOP_ON_ERROR;
GO 
اي سطر غير مفهوم بالكود ارجوا الاستفسار عنة
اهلا وسهلا فيك اخي عمر..اكيد ان الاستخدامات كثيرة وكل طريقة لها اسباب لاستخدامها لكن الكود الذي كتبته جربته على القاعدة اللتي عندي ونجح كل من النسخ والاستعادة .طبعا بعد ما اخذ نسخة اقوم بحذف القاعدة يدويا من ادارة قواعد البيانات SQL Server Management Studio ثم انفذ الكود الخاص بالاسترجاع .. وفعلا تم الاسترجاع.
أنا سويت استعادة من دون حذف القاعدة ..

طلعلي خطأ..

والحل تقول :

سعود كتب :طبعا بعد ما اخذ نسخة اقوم بحذف القاعدة يدويا من ادارة قواعد البيانات SQL Server Management Studio ثم انفذ الكود الخاص بالاسترجاع .. وفعلا تم الاسترجاع.

الطريقة اليدوية مزعجة للعميل

هل من طريقة اسهل ؟؟
إقتباس :
الطريقة اليدوية مزعجة للعميل
اهلا وسهلا فيك اخي الكريم .. واشكر لك مرورك وتفاعلك.
اللي اقصده لو انك فقدت ملف القاعدة اما بفورمات او غيرها وقد اخذت نسخة مسبقا تستطيع استرجاعها .. لذلك اردت التاكد وحذفت القاعدة وجربت الكود ووجدته يعمل.