Database 'XXX' sedang dalam transisi. Coba pernyataannya nanti

27

Saya mencoba untuk terhubung ke database server sql saya mendapatkan kesalahan ini

Database 'XXX' is in transition. Try the statement later.

saya membatalkan permintaan panjang sebelumnya hari ini tetapi untuk beberapa alasan saya tidak bisa mendapatkan database untuk kembali. Apakah ada sesuatu yang saya bisa lakukan?

Rod Johnson
sumber
4
Dengan pertanyaan seperti ini, Anda harus benar-benar spesifik tentang apa SQL server dan versinya. Saya menduga maksud Anda salah satu server Microsoft SQL, tetapi kami tidak perlu menebak.
John Gardeniers
Lihat ini. Ini berhasil untuk saya. stackoverflow.com/a/27036481/4273753

Jawaban:

40

Ini dapat terjadi kadang-kadang jika Anda mencoba untuk mengambil DB offline atau melakukan operasi tertentu lainnya dan gagal. Terkadang kunci dapat dihapus jika Anda menutup instance SSMS yang mencoba operasi, lalu buka kembali. Tutup dan buka kembali setiap instance SSMS yang dilampirkan ke server.

Ini juga dapat terjadi jika Anda mencoba untuk mengambil DB offline saat kueri panjang sedang berjalan. Periksa monitor aktivitas dan coba matikan semua pertanyaan yang sudah berjalan lama, jika ada dan aman.

Jika tidak satu pun di atas berfungsi, tutup semua instance SSMS, lalu mulai ulang SQL melalui Manajer Konfigurasi Server SQL. Biasanya itu akan menyembuhkannya, meskipun DB mungkin dalam mode pemulihan pada awalnya.

matahari
sumber
Ini sangat aneh. Apakah Anda tahu mengapa itu terjadi?
Krismorte
11

Anehnya, saya memperbaiki masalah ini hanya dengan menutup SSMS dan membuka kembali.

Josh
sumber
terlalu mudah. bekerja untukku.
greg121
Menutup SSMS dan membuka kembali bekerja untuk saya juga.
Michael Bollhoefer
1

Ada opsi yang tersedia di SQL Server Management Studio untuk mengambil database online / offline. Tetapi perlu izin administratif.

Untuk mengaksesnya, klik kanan database -> Tugas -> Bawa Online.

rchacko
sumber
0

Saya tahu itu sudah dijawab, tetapi hanya untuk menambahkan; Jika situasinya sedemikian rupa sehingga Anda mencoba untuk membuatnya offline, dan kemudian gagal, Anda bisa mencoba membunuh SPID yang mencoba mengubah status basis data.

Lakukan sp_who atau sp_who2 dan temukan SPID yang berputar pada DB yang mencoba menjadikan database offline. Bunuh SPID itu, dan Anda dibiarkan dengan DB online atau offline yang BUKAN dalam kondisi transisi.

Jun Sato
sumber