View Full Version : خارج کردن پایگاه داده از حالت using برای detach  کردن
  
rostamedastan
شنبه 29 بهمن 1384, 20:46 عصر
سلام علیکم :
برای detach کردن پایگاه داده صفحه ای باز می شود و در جلوی connection using this database تعداد استفاده ها را می نویسد حال چگونه می توان بدون زدن کلید clear و با استفاده از کد این تعداد را صفر کرد یعنی پایگاه داده را از حالت استفاده خارج کرد ؟
Elham_gh
دوشنبه 01 اسفند 1384, 18:15 عصر
برای اینکه اتصال کاربران به Database را قطع کنید :
DECLARE @cur_db_id as smallint
select @cur_db_id=dbid from  sysdatabases  where name='testpubs'
SELECT  spid 
into #tmp
from sysprocesses where dbid=@cur_db_id
DECLARE @spid smallint
DECLARE Pubs_cursor CURSOR
   FOR SELECT * FROM #tmp
OPEN Pubs_cursor
FETCH NEXT FROM Pubs_cursor  INTO @spid
DECLARE @strSQL NVARCHAR(50)
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @strSQL='KILL '+CAST(@spid AS NVARCHAR(10))
	EXEC sp_executesql @strSQL
	FETCH NEXT FROM Pubs_cursor  INTO @spid
END
CLOSE Pubs_cursor
DEALLOCATE Pubs_cursor
DROP TABLE #tmp
و برای detach کردن  DB  از دستور زیر استفاده کنید:
EXEC sp_detach_db 'Testpubs', 'true'
rostamedastan
سه شنبه 22 فروردین 1385, 14:56 عصر
سلام علیکم
می شود در مورد کد قطع اتصال کاربران کمی توضیح دهید.
با فرض اینکه نام پایگاه داده من salary است من باید همین کد را عیناً بنویسم و فقط به جای testpubs نام پایگاه داده خود یعنی salary را قرار دهم ؟
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.