SQL Server 2008 veritabanını çevrimdışı olmaya zorlama


106

Veritabanımı neyin veya kimin kullandığına bakılmaksızın nasıl Çevrimdışı olmaya zorlayabilirim?

Denedim:

ALTER DATABASE database-name SET OFFLINE;

Ama 7 dakika sonra hala asılı.

Bunu istiyorum çünkü senaryoyu test etmem gerekiyor.

Mümkünse mi?

Yanıtlar:


186

Çevrimdışı ol

USE master
GO
ALTER DATABASE YourDatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

Çevrimiçi ol

USE master
GO
ALTER DATABASE YourDatabaseName
SET ONLINE
GO

8
@radbyx: MSDN, masterDB'nin durumunu çalıştırırken kullanılmasını söylüyor
abatishchev

17
@radbyx: MY_DATABASE kullanırsanız, ALTER DATABASE MY_DATABASE SET OFFLINE başarısız olur, çünkü onu kullanıyorsunuz! Evet, bundan daha yeni
soktum

10
Benim için işe yaramadı: Msg 5061, Level 16, State 1, Line 1 ALTER DATABASE başarısız oldu çünkü 'MyDatabase' veritabanına bir kilit yerleştirilemedi. Daha sonra tekrar deneyin. Msg 5069, Düzey 16, Durum 1, Satır 1 ALTER DATABASE ifadesi başarısız oldu.
Andez

6
Planlanmış iş makinelerinden veya orta sınıftan bazı inatçı bağlantıları görmek için hala bir 'sp_who2 active' / 'sp_whoisactive' kullanmanız ve bunlardan kurtulmak için SPID numarasıyla KILL'i çalıştırmanız gereken durumlar gördüm
Chris Wood

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.