# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Backup & Restore >  مشکل در گرفت بکاپ از دیتابیس

## fakhravari

با سلام
من برای بکاپ گیری از دیتابیس اسکریپت میگرفتم.
چون یکی از جدولام فایل باینری سیو میشه حجم بالایی داره و موقع اجرای اسکریپت در دیتابیس دیگه تایم اوت میده و همراه با خطا.
یکی از دوستان export معرفی کرد که خوب کار میکنه.
سوال من اینکه که ساختار دیتابیس میتونید با اسکریپت درست کنیم حال برای داده ها چه کاری کنیم چون برای export  باید دیتابیس ها روی یه سیستم باشند. :متفکر:

----------


## prans_tork

با سلام
شاید به درد بخوره از نوشته های خودمه:


public void Backup_All_DataBase(string path, string dboutput)        {
            string strBack = dboutput;
            OleDbCommand scom1 = new OleDbCommand();
            //OleDbConnection.ClearAllPools();
            scom1.Connection = new OleDbConnection(_cs);
            scom1.Connection.Open();
            string dbname = scom1.Connection.Database;
            scom1.Connection.Close();
            OleDbConnection sc = new OleDbConnection(_cs);
            OleDbCommand scom = new OleDbCommand("BACKUP DATABASE [" + dbname + "] TO DISK ='" + path + "\\" + strBack + "'", sc);
            sc.Open();
            scom.ExecuteNonQuery();
            sc.Close();
        }

----------


## fakhravari

گرفتن بکاپ شاید در همه *ورژنها* کار نکنه

----------


## امیر مهرشاد

مهندس سلام - میتونی از خود امکانات منیجمنت استفاده کنی و یک job درست کنی و با زمانبندی منظم بصورت اتومات از تمامی دیتاهات در جایی مشخص از سرور یا هارد بک آپ داشتهباشی  :چشمک:

----------


## fakhravari

نه مشکل گرفتن بکاپ ندارم.
سوالم اینه ایا بکاپ توی همه ورژنهای sql server به درستی کار میکنه؟

----------


## fakhravari

دوستان مثلا از 2012 به 2005 ایا روش بکاپ میشه؟
مشکلی در ورژن نیست

----------


## espootin

> دوستان مثلا از 2012 به 2005 ایا روش بکاپ میشه؟


برگشت یا اصطلاحا downgrade به نسخه های قبل امکان پذیر نیست با استفاده از Backup.

----------


## fakhravari

من اخر متوجه نشدم.
ساختار میتونم درست کنم در سرور دیگه.
حال با داده ها چه کنم؟ چطوری انتقالش بدم.

----------


## espootin

> حال با داده ها چه کنم؟ چطوری انتقالش بدم.


روش های زیر را می توانید بکار ببرید:
1- Generate scripts
2- Copy database
3-  Import Data/ Export Data

----------


## fakhravari

سلام
دوستان من نمیتونم اسکریپت اجرا بگیرم. چون فایل باینری داره حجم و زمان اجرا خطا میدهImport Data/ Export Data خوب کار میده اما باید روی همون سرور باشه

مثلا دیتابیس ما 2008 است حال میخواهی داده ها را روی 2005 ببریم.
فایل اسکریپت جوابگو نیست.
دیتابیس ها هم روی 1 سرور نیستند.
ایا فایل بکاپ جوابگو است. ایا مشکل ورژن برنمیخوریم؟

----------


## akhbarebrahim

public void Backup_All_DataBase(string path, string dboutput)        {
            string strBack = dboutput;
            OleDbCommand scom1 = new OleDbCommand();
            //OleDbConnection.ClearAllPools();
            scom1.Connection = new OleDbConnection(_cs);
            scom1.Connection.Open();
            string dbname = scom1.Connection.Database;
            scom1.Connection.Close();
            OleDbConnection sc = new OleDbConnection(_cs);
            OleDbCommand scom = new OleDbCommand("BACKUP DATABASE [" + dbname + "] TO DISK ='" + path + "\\" + strBack + "'", sc);
            sc.Open();
            scom.ExecuteNonQuery();
            sc.Close();
        }

----------


## aboualfazl

سلام دوست عزیز.
شما هیچوقت نمیتونی بکاپ رو روی ورژن پایین تر اجرا کنید.
راه حل شما اینه که روی یکی از سیستم های موجود در شبکه SQL Server 2005 نصب کنید و از روش Export استفاده کنید.
حال از دیتابیس (موجود بر روی سیستمی که SQL Server 2005 داره)بکاپ گرفته و بکاپ مورد نظر رو برای Restore کردن در محل  استفاده کنید.
موفق و موید باشید

----------


## s.karim

سلام
من برای این کار از Redgate استفاده می کنم:


مشکل بالا و پایین بودن ورژن ندارهاز یه سرور به یه سرور دیگه امکان پذیرههم ساختار رو می توان کپی کرد و هم دیتا رو

دو ابزار Sql Compare . Sql Data Compare درون مجموعه ی RedGate

----------

