برای Backup گرفتن مشکلی در کانکشن وجود نداره و با استفاده از این Stored Proc می تونی Backup بگیری
CREATE PROCEDURE Backup_DB
@disk nvarchar(100),
@filename nvarchar(20)
AS
exec('
BACKUP DATABASE [yourDBName] TO DISK = N'''+
@disk+'\'+@filename+'.bak'+''' WITH INIT ,
NOUNLOAD , NAME = N''yourDBName_backup'''+
', NOSKIP , STATS = 10, NOFORMAT')
GO
ولی برای Restore باید کانکشن اکتیو رو ببندی و یه Store Proc روی بانک Master بسازی
و از توی برنامه خودتون به یانک Master وصل بشی و اون Stored Proc رو Run کنی
این هم کد ساختنه این Stored Proc
بهتره فرآیند ساختن این Stored Proc در initialize برنامتون باشه
CREATE PROCEDURE Create_Restore_Proc
AS
exec ('use master
if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[restore_yourDBname]'')
and OBJECTPROPERTY(id, N''IsProcedure'') = 1)
drop procedure [dbo].[restore_yourDBname]'+
'exec(''CREATE PROCEDURE restore_yourDBname
@disk varchar(100)
AS
RESTORE DATABASE yourDBname FROM DISK =@disk'')')
GO
در این کد ها نام فایل Backup و مسیر ذخیره سازی رو من به صورت پارامتر به پروسیجر می فرستم
-----------------------
امیدوارم تونسته باشم کمک کوچیکی بهتون کنم