View Full Version : مشکل در backup و restore
ealvandi
شنبه 29 تیر 1387, 21:54 عصر
با سلام
من در هنگام backup , restore دیتابیسم از طریق دستورات استاندارد از محیط دلفی مشکلی دارم . خطایی بر این عنوان که دیتابیس در حال استفاده است . کانکشن رو هم close کردم و حتی به یک بانک دیگه متصل کردم اما باز میگه دیتابیس مورد نظر در حال استفاده است.
مطالب قبلی رو خوندم اما دوای دردم نشد.
لطفا من رو راهنمایی کنید.
متشکرم.
mzjahromi
شنبه 29 تیر 1387, 22:10 عصر
با سلام
من در هنگام backup , restore دیتابیسم از طریق دستورات استاندارد از محیط دلفی مشکلی دارم . خطایی بر این عنوان که دیتابیس در حال استفاده است . کانکشن رو هم close کردم و حتی به یک بانک دیگه متصل کردم اما باز میگه دیتابیس مورد نظر در حال استفاده است.
مطالب قبلی رو خوندم اما دوای دردم نشد.
لطفا من رو راهنمایی کنید.
متشکرم.
برای بک آپ که نباید مشکل داشته باشی
برای Restore و Drop کردن قبل از دستوراتت یک Use master استفاده کن
use master
drop database test
ealvandi
شنبه 29 تیر 1387, 22:38 عصر
از جوابتون متشکرم. مشکلم حل شد اما خیلی زمانبره. این زمانبر بودن عادی هست یا میشه کمترش کرد ؟
بهنام بهمنی
یک شنبه 30 تیر 1387, 17: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.