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

[مخالف - لم يستخدم البحث :]النسخ الاحتياطي لقاعدة البيانات

مغلق
بدأه mamababadada في 21 أغسطس 2011 · 3 رد · 665 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني

عندي قاعدة بيانات ابحث عن طريقه لنسخها احتياطيا سكربت او ملف باتش بس المهم اتاكد ان موضوع النسخه الاحتياطيه ماشي وضعه اتركم مع الكود الذي وجدته مع مشكلة ظهرت معي ولكن لم اتمكن من حلها :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.IO;
using Microsoft.SqlServer.Management.Smo;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string MachineName = @"SERVER\SQLEXPRESS";

            string DBName = "manidata";

            string backupName = "tempBackup201";

            Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(MachineName);

            Database db = server.Databases[DBName];

            //To Avoid TimeOut Exception

            server.ConnectionContext.StatementTimeout = 60 * 60;

            RecoveryModel recoverymodel = db.DatabaseOptions.RecoveryModel;

            //Define a Backup object variable.

            Backup backup = new Backup();

            //backup.Co.CompressionOption = BackupCompressionOptions.On;

            //Specify the type of backup, the description, the name, and the database to be backed up.

            backup.Action = BackupActionType.Database;

            backup.BackupSetDescription = "Full backup of " + DBName + ".";

            backup.BackupSetName = backupName;

            backup.Database = DBName;

            //Declare a BackupDeviceItem

            BackupDeviceItem bdi = default(BackupDeviceItem);

            bdi = new BackupDeviceItem(@"C:\ " + backupName + ".bak", DeviceType.File);

            //Add the device to the Backup object.

            backup.Devices.Add(bdi);

            //Set the Incremental property to False to specify that this is a full database backup.

            backup.Incremental = false;

            //Set the expiration date.

            System.DateTime backupdate = new System.DateTime();

            backupdate = new System.DateTime(2011, 10, 11);

            backup.ExpirationDate = backupdate;

            //Specify that the log must be truncated after the backup is complete.

            backup.LogTruncation = BackupTruncateLogType.Truncate;

            //Run SqlBackup to perform the full database backup on the instance of SQL Server.

            backup.SqlBackup(server); // (Backup failed for Server 'SERVER\SQLEXPRESS'.) هنا يظهر الخطأ 

            //Remove the backup device from the Backup object.

            backup.Devices.Remove(bdi);


        }
    }
}

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#2

لو كنت شغال على SQL Server يبقى تعمل الخطوات دى لكى تعمل backup (نسخة احتياطية) لقاعدة البيانات :

تخش على SQL Server وتعمل كليك يمين على قاعدة البيانات بتاعتك ، هيظهرلك قائمة تختار منها tasks وبعدين هيظهرلك قائمة تانية وتختار منها backup وبعدين هيظهرلك نافذة تضغط اولا على حاجة اسمها remove وبعدين تضغط على حاجة اسمها add وبعدين هيظهرلك نافذة تضغط على زرار شكله .... كده وبعدين تحدد المكان اللى انت هتحط فيه backup بتاع الداتابيز وتكتب اسم قاعدة البيانات بتاعتك ويكون نفس الاسم عشان اسم قاعدة البيانات غلط هيحدث مشكلة يعنى الاسم يكون نفس اسم قاعدة البيانات بتاعتك وبعد ما تكتب الاسم تعمل ok ثم ok ثم ok وخلاص وكده يكون انت عملت نسخة احتياطية لقاعدة البيانات بتاعتك

طب لو انت عاوز ترجع ملف الـ backup الى الـ SQL Server تانى ، اتبع الخطوات دى :

برده تخش على SQL Server وتعمل كليك يمين على قاعدة البيانات وتختار tasks ثم تختار restor ثم تختار database وبعدين تيجى على كلمة from device وبعدين هيظهرلك نافذة تضغط add وتحدد الملف اللى بتاع الـ backup اللى انت عملته قبل كده وبعدين تضغط ok وبعدين ok وبعدين تكتب اسم قاعدة البيانات اللى انت عاوز ترجع ليها الملف بس ملحوظة يكون اسم الملف يكون نفس اسم قاعدة البيانات وبعدين تخش على حاجة اسمها option وتعمل صح على اول واحدة وتيجى على original file name وتختار المسار ده

C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\اسم قاعدة البيانات بتاعتك.mdf

وتختار المسار ده برده اللى تحت المسار الاولانى

C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\اسم قاعدة البيانات بتاعتك_log.ldf

وبعد ما تخلص تعمل ok وهتلاقى انت عملت restor للداتابيز............................ وخلى بالك من الامتداد بتاع المسارين اللى فوق وخصوصا امتداد ملف الداتا بيز

وبالتوفيق.................وشكرا

1
#3

السلام عليكم

نفذ الأمر التالي من الكود بنفس الطريقة التي تنفذ فيها أوامر insert (أي باستخدام sql command)

BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak' WITH FORMAT

للمزيد عن SQL Command:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#4

الأخ الكريم/الأخت الكريمة

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

مرحباً بكم في منتدى الفريق العربي للبرمجة

تأسف إدارة المنتدى لغلق الموضوع وذلك لمخالفته قوانين المشاركات، فقرة استخدام البحث قبل السؤال.

قواعد طرح المشاركات

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

.:: Wish to become better and better ::.

هذا الموضوع مغلق.

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

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

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

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

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