PDA

View Full Version : سوال: فهمیدن درست backup گرفتن از روی بانک روی هاست



raha2006
دوشنبه 17 فروردین 1388, 08:59 صبح
با سلام خدمت دوستان گرامی
من به وسیله کدهای زیر از بانکم که بر روی هاست است بک آپ گرفتم:

string Url;
Url = @"BackUp\";
Url += TextBox1.Text;
SqlConnection mycon = new SqlConnection();
mycon.ConnectionString = ConfigurationManager.ConnectionStrings["dbWebLameiCon"].ConnectionString;
SqlCommand cmd = new SqlCommand("backup_me", mycon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@db_name", "نام بانکم");
cmd.Parameters.Add("@disk", Server.MapPath(Url));
try
{
mycon.Open();
cmd.ExecuteNonQuery();
}
catch { }
mycon.Close();
Stored Procedure:
CREATE PROCEDURE [backup_me]
(@db_name nvarchar(50),@disk nvarchar(300))
AS
-- amale backup giri tavasote in cod e anjam mishe
BACKUP DATABASE @db_name TO disk=@Disk
GO
بک آپ می گیره از بانکم ولی هر دفعه با یک اندازه یک بار با اندازه 1.70 یک بار با اندازه 3.41 حالا من نمی دونم چه طور باید تستش کنم که کدوم درسته
روی سیستمم کپی کردم که روی Local تستش کنم ولی روی sql server سیستمم restor نشد و پیغام زیر رو می ده

too many backup devices specified for backup or restor;only 64 are allowed.
RESTOR DATABASE is terminating abnormally.
میشه کمکم کنید ممنون می شم:ناراحت:

raha2006
دوشنبه 17 فروردین 1388, 15:34 عصر
کسی نیست به من کمک کنه.:گریه:

raha2006
سه شنبه 18 فروردین 1388, 13:43 عصر
کسی به این موضوع بر نخورده:متفکر:

KavoshGar_ir
سه شنبه 18 فروردین 1388, 16:05 عصر
فکر می کنم این قضیه را باید در تالار sqlserver دنبال کنید نه اینجا!چون باید از امکانات sqlserver جهت فهمیدن سایز بگ آپ کمک بگیرید!

همچنین اگر بک آپگیری را از یک بانک بر روی سیستم خودتان هم تست کنید می بینید از یک بانک در حالت یکسان سایزهای متفاوتی در نظر می گیره!

برای پیدا کردن سایز هم فکر می کنم در تیبل msdb امکاناتی برای بک آپ موجوده مثلا

http://technet.microsoft.com/en-us/library/ms186299.aspx

همچنین این مقاله را هم بخونید خالی از لطف نیست :



The information for backup size is stored in the backup_size column of the backupset table in the msdb database as the total bytes for that backup.
This script allow you to look at the total back to tape or file so you can plan space needs for those devices.
This is a simple piece of code so you may need to adjust for your specific needs, but the basic outline of it should help you in looking at your backups in whatever situation you need.
Also files have a header and maybe footer so there are some extra bytes added beyond what is stored in the database for this information which is 1536 and has been calculated in.

Some Options you should be aware of when using this code.

backupmediafamily device_type
2 = File
5 = Tape

backupset type
L = Log
I = Differential
D = Full

(Note: May be other options but these are the ones I find on my system and can identify.)


نمونه ای از دیگر امکانات هم کد زیر را تست بگیرید:


Select Bu.Name , Bu.backup_start_date,Bu.backup_finish_date,
B.physical_drive, (B.backup_size/1000000)As FilesizeMB From msdb.dbo.backupfile
As B Inner Join msdb.dbo.backupset As Bu
On B.backup_set_id = Bu.backup_set_id


در هر حال دوستان و مدیران تالار sqlserver احتمالا کمک بیشتری می تونند بکنند.