View Full Version : مشکل در backup و restore
  
ealvandi
شنبه 29 تیر 1387, 22:54 عصر
با سلام
من در هنگام backup , restore  دیتابیسم  از طریق دستورات استاندارد از محیط دلفی  مشکلی دارم  . خطایی بر این عنوان که دیتابیس در حال استفاده است . کانکشن رو هم close کردم و حتی به یک بانک دیگه متصل کردم اما باز میگه دیتابیس مورد نظر  در حال استفاده است.
مطالب قبلی رو خوندم اما دوای دردم نشد.  
لطفا من رو راهنمایی کنید.
متشکرم.
mzjahromi
شنبه 29 تیر 1387, 23:10 عصر
با سلام
من در هنگام backup , restore  دیتابیسم  از طریق دستورات استاندارد از محیط دلفی  مشکلی دارم  . خطایی بر این عنوان که دیتابیس در حال استفاده است . کانکشن رو هم close کردم و حتی به یک بانک دیگه متصل کردم اما باز میگه دیتابیس مورد نظر  در حال استفاده است.
مطالب قبلی رو خوندم اما دوای دردم نشد.  
لطفا من رو راهنمایی کنید.
متشکرم.
برای بک آپ که نباید مشکل داشته باشی 
برای Restore و Drop  کردن قبل از دستوراتت یک Use master استفاده کن
use master
drop database test
ealvandi
شنبه 29 تیر 1387, 23:38 عصر
از جوابتون متشکرم. مشکلم حل شد اما خیلی زمانبره. این زمانبر بودن عادی هست یا میشه کمترش کرد ؟
بهنام بهمنی
یک شنبه 30 تیر 1387, 18:37 عصر
يك راه ديكه براي جلوگيري از خطا in use بودن ساخت sp زير در مستر و صدا كردن اين sp با اسم db ت ، قبل از restore  كردنه.
 
USE [master]
GO
/****** Object: StoredProcedure [dbo].[sp_KillDBConnection] Script Date: 07/20/2008 18:05:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_KillDBConnection] @dbName SYSNAME 
AS 
BEGIN 
SET NOCOUNT ON 
DECLARE @spid INT, 
@cnt INT, 
@sql VARCHAR(255) 
SELECT @spid = MIN(spid), @cnt = COUNT(*) 
FROM master..sysprocesses 
WHERE dbid = DB_ID(@dbname) 
AND spid != @@SPID 
PRINT 'Starting to KILL '+RTRIM(@cnt)+' processes.' 
WHILE @spid IS NOT NULL 
BEGIN 
PRINT 'About to KILL '+RTRIM(@spid) 
SET @sql = 'KILL '+RTRIM(@spid) 
EXEC(@sql) 
SELECT @spid = MIN(spid), @cnt = COUNT(*) 
FROM master..sysprocesses 
WHERE dbid = DB_ID(@dbname) 
AND spid != @@SPID 
PRINT RTRIM(@cnt)+' processes remain.' 
END 
END
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.