Saya perlu bantuan dengan mengatur database yang dikembalikan dalam SINGLE_USER
mode ke MULTI_USER
. Setiap kali saya berlari
ALTER DATABASE BARDABARD
SET MULTI_USER;
GO
Saya mendapatkan kesalahan ini:
Perubahan pada status atau opsi database 'BARDABARD' tidak dapat dilakukan saat ini.
Basis data dalam mode satu pengguna, dan pengguna saat ini terhubung dengannya.
Perlu dalam SINGLE_USER
mode non- untuk mengaturnya ke mode lain, tapi saya tidak bisa mengatur database dalam mode lain saat sedang SINGLE_USER
mode.
sql
sql-server
Rahna1970418
sumber
sumber
master
) dipilih di drop-down toolbar Databases yang tersedia ketika jendela permintaan aktif. Jika terus membuat Anda sakit kepala, tutup semua jendela permintaan lainnya, dan pilih beberapa basis data sistem yang tidak bersalah sepertimaster
atautempdb
di drop-down di satu jendela yang tersisa.Pesan kesalahan itu umumnya berarti ada proses lain yang terhubung ke DB. Coba jalankan ini untuk melihat mana yang terhubung:
Itu akan mengembalikan Anda proses dan kemudian Anda harus dapat menjalankan:
Di mana [xxx] adalah
spid
proses yang ingin Anda bunuh.Kemudian Anda dapat menjalankan pernyataan di atas.
Semoga berhasil.
sumber
Anda dapat menambahkan opsi untuk mengembalikan perubahan Anda dengan segera.
sumber
ROLLBACK IMMEDIATE
sebenarnya dilakukan?ALTER DATABASE
transaksi, sebagai lawanWITH ROLLBACK X SECONDS
yang menunggu transaksi selesai sebelum memaksa mereka untuk kembalikan atau menunggu tanpa batas waktu hingga tidak ada transaksi yang tertunda (yang saya yakini merupakan default tetapi sepertinya tidak dapat ditemukan dalam dokumen saat ini). Ini sama dengan "hentikan semua yang Anda lakukan sekarang dan lakukan ini."SQL Server 2012:
klik kanan pada
DB > Properties > Options > [Scroll down] State > RestrictAccess > select Multi_user
dan klik OK.Voila!
sumber
Saya memiliki masalah yang sama dan diperbaiki dengan langkah-langkah berikut - referensi: http://giladka8.blogspot.com.au/2011/11/database-is-in-single-user-mode-and.html
sumber
Ini bekerja dengan baik untuk saya.
Langkah 1. Klik kanan pada mesin basis data, klik pada monitor aktivitas dan lihat proses mana yang memiliki koneksi. Bunuh pengguna tertentu itu dan jalankan kueri Segera.
Langkah 2.
dan menyegarkan basis data.
sumber
Saya benar-benar memiliki masalah di mana db saya cukup banyak terkunci oleh proses dan kondisi balapan dengan mereka, pada saat saya mendapatkan satu perintah dieksekusi segar dan mereka sudah terkunci lagi ... Saya harus menjalankan perintah berikut ini kembali ke belakang di SSMS dan membuat saya offline dan dari sana saya melakukan restore dan kembali online, dua pertanyaan di mana:
Berlari pertama:
Kemudian segera setelah (di jendela permintaan kedua):
Melakukan apa yang saya butuhkan dan kemudian membawanya kembali online. Terima kasih untuk semua yang menulis artikel ini untuk saya gabungkan dan selesaikan masalah saya.
sumber
Mungkin yang terbaik adalah masuk ke server secara langsung daripada menggunakan SQL Management Studio
Pastikan akun yang Anda masuk sebagai dbowner untuk database yang ingin Anda setel ke MULTI_USER. Login sebagai sa (menggunakan otentikasi server SQL) jika Anda bisa
Jika basis data Anda digunakan oleh IIS, hentikan situs web dan kumpulan aplikasi yang menggunakannya - ini mungkin proses yang terhubung dan memblokir Anda dari pengaturan ke MULTI_USER
Rujuk di sini jika Anda masih mengalami masalah:
http://www.sqlservercentral.com/blogs/pearlknows/2014/04/07/help-im-stuck-in-single-user-mode-and-can-t-get-out/
SEBAGAI ALTERNATIF TERAKHIR - Jika Anda sudah mencoba semuanya di atas dan Anda mulai putus asa, Anda bisa mencoba menghentikan contoh SQL server dan memulainya lagi
sumber
Saya baru saja memperbaiki menggunakan langkah-langkah berikut, Ini dapat membantu Anda.
Langkah 1
Langkah 2
Langkah: 3
Langkah: 4
Langkah: 5
Kemudian jalankan query berikut.
Nikmati...!
sumber
Kode di bawah ini berfungsi untuk saya ketika saya tidak tahu SPID spesifik yang digunakan untuk berubah ke
singleuser
mode.sumber
kemudian membawanya kembali hidup-hidup
sumber
Ini bekerja dengan baik untuk saya
Semoga ini berhasil untuk semua. Terima kasih Ramesh Kumar
sumber
Jika hal di atas tidak berhasil, cari nama login dari spid dan nonaktifkan di Keamanan - Login
sumber
Anda tidak dapat melakukan itu karena database dalam mode tunggal. Di atas baik-baik saja tetapi Anda harus tahu bahwa: ketika Anda membuka studio manajemen sql tidak tahu ada pengguna di database tetapi ketika Anda mengklik database itu menganggap Anda pengguna tunggal dan perintah Anda tidak berfungsi. Lakukan saja: Tutup studio manajemen dan buka kembali. jendela permintaan baru tanpa memilih basis data apa pun, tulis skrip perintah.
membuat f5 wolla semuanya baik-baik saja!
sumber
Saya telah memecahkan masalah dengan mudah
Klik kanan pada nama database, ganti nama itu
Setelah berubah, klik kanan pada nama database -> properties -> options -> pergi ke bagian bawah bergulir RestrictAccess (SINGLE_USER ke MULTI_USER)
Sekarang lagi Anda dapat mengubah nama basis data sebagai nama lama Anda.
sumber
Pada lebih dari 3 kesempatan bekerja dengan SQL Server 2014, saya memiliki konversi basis data ke mode Pengguna Tunggal tanpa saya mengubah apa pun. Itu pasti terjadi selama pembuatan database entah bagaimana. Semua metode di atas tidak pernah berhasil karena saya selalu menerima kesalahan bahwa database berada dalam mode pengguna tunggal dan tidak dapat terhubung.
Satu-satunya hal yang saya harus bekerja adalah me-restart SQL Server Windows Service. Itu memungkinkan saya untuk terhubung ke database dan membuat perubahan yang diperlukan atau menghapus database dan memulai kembali.
sumber
cukup buka properti database dan ubah mode SINGLE USER ke MULTI USER
CATATAN: jika tidak berfungsi untuk Anda maka ambil cadangan Db dan pulihkan kembali dan lakukan metode di atas lagi
* Tunggal = SINGLE_USER
Multipel = MULTI_USER
Terbatas = RESTRICTED_USER
sumber
Setelah masuk ke mode Pengguna Tunggal, klien hanya dapat membuat SATU koneksi dengan SQL Server, ingat bahwa "Object Explorer" mengambil koneksi (terpisah), jadi jika Anda mencoba menjalankan pernyataan Multi-Pengguna dalam kueri jendela, Anda akan mendapatkan kesalahan bahwa dalam mode Pengguna Tunggal Anda tidak dapat membuat koneksi lain.
Bagi saya ini bukan masalah, dalam kasus saya, ada beberapa proses otomatis yang secara terus-menerus (dalam setiap beberapa detik) membangun koneksi, jadi segera setelah saya mengambil DB ke mode Pengguna Tunggal dan memutus diri saya, salah satu dari proses membuat / menduduki koneksi (sebelum saya bisa memulai operasi Restore). Segera setelah saya membunuh koneksi itu - mereka akan terhubung kembali dan ketika saya menjalankan perintah Restore, saya akan mendapatkan kesalahan bahwa koneksi sudah terisi.
Untuk menyelesaikan ini saya harus menulis
kill
pernyataan, mengubahUser-Mode
pernyataan danRestore
operasi semua dalam satu jendela permintaan dan ketika saya menjalankan semuanya dalam satu waktu, voila !!! itu berhasil.Semoga ini bisa membantu orang lain.
sumber
Saya mengalami masalah dengan DB lokal.
Saya bisa menyelesaikan masalah ini dengan menghentikan SQL server, dan kemudian memulai SQL server, dan kemudian menggunakan SSMS UI untuk mengubah properti DB ke Multi_User.
DB beralih ke mode "Pengguna Tunggal" ketika saya mencoba mengembalikan cadangan. Saya belum membuat cadangan dari database target sebelum mencoba memulihkan (SQL 2017). ini akan membuat Anda setiap saat.
Hentikan SQL Server, Mulai SQL Server, lalu jalankan Script di atas atau gunakan UI.
sumber
Saya mencari solusi untuk beberapa saat dan akhirnya menemukan solusi di bawah ini,
SSMS secara umum menggunakan beberapa koneksi ke database di belakang layar.
Anda harus mematikan koneksi ini sebelum mengubah mode akses. (Saya telah melakukannya dengan EXEC (@kill); dalam templat kode di bawah ini.)
Kemudian,
Jalankan SQL berikut untuk mengatur basis data dalam mode MULTI_USER.
Untuk beralih kembali ke mode Pengguna Tunggal, Anda dapat menggunakan:
Ini seharusnya bekerja. Selamat coding !!
Terima kasih!!
sumber