Saya baru-baru ini mengembalikan database ke contoh yang sama dengan yang didukungnya (SQL Server 2008 R2 Enterprise) dan menemukan bahwa saya tidak dapat mengakses properti database.
Saya telah melakukan yang berikut:
- Memeriksa pemilik basis data ditetapkan dengan benar menggunakan
sp_helpdb
. - Mengubah pemilik basis data ke
sa
. Bukan perbaikan. - Mengubah pemilik basis data kembali ke
sysadmin
pengguna saya . Bukan perbaikan. - Dikeluarkan
DBCC updateusage
terhadap basis data yang terpengaruh. Bukan perbaikan. - Jalankan
DBCC CheckDB
salinan yang dipulihkan ke instance lain. Tidak ditemukan korupsi. Salinan yang dipulihkan (dari file cadangan yang sama) tidak menimbulkan kesalahan saat mengakses jendela properti database.
Adakah yang bisa membantu?
Pesan kesalahan yang saya dapatkan ketika mencoba melihat properti adalah:
Tidak dapat menampilkan dialog yang diminta. (SqlMgmt)
Ukuran Properti tidak tersedia untuk Basis Data '[DBNAME]'.
Properti ini mungkin tidak ada untuk objek ini, atau mungkin tidak dapat diperoleh kembali karena hak akses yang tidak memadai. (Microsoft.SqlServer.Smo)
Saya seorang sysadmin
tentang hal ini.
Pembaruan: Seperti yang disarankan, saya membuat pengguna baru, menjadikannya sysadmin dan mengubah pemilik database menjadi itu. Sayangnya bukan perbaikan. Saya akan melihat apakah jejak profiler menghasilkan sesuatu yang bermanfaat.
Pembaruan: Aaron - database asli diubah namanya dan diambil offline tetapi masih dalam contoh itu. Cadangan database itu kemudian dipulihkan menggunakan nama asli. Nama file file database baru berbeda dari aslinya karena mereka tinggal di folder yang sama dengan mdf / ldf asli. Db yang dipulihkan saat ini menjalankan aplikasi penting kami seperti biasa.
Jawaban:
Saya telah menyelesaikan ini dengan me-restart layanan SQL Server, sayangnya / untungnya.
Ide awal saya adalah melepaskan / melampirkan database. Bukannya saya pikir ini benar-benar akan memperbaiki masalah, saya hanya membacanya di forum di suatu tempat. Ini tidak berpengaruh.
Sayangnya saya tidak melakukan apa yang disarankan oleh PJ Mahoney: menjalankan jejak. Saya harap saya melihat masalah ini lagi sehingga saya bisa mengetahui jika ada jejak yang mengungkapkan sesuatu. Terima kasih untuk sarannya.
Setidaknya menjawab pertanyaan saya sendiri berarti saya tidak perlu melihat saran lain tentang mengubah pemilik basis data; P
Terima kasih
sumber
Saya memiliki kesalahan yang sama ketika mencoba untuk memodifikasi properti pertumbuhan file dari file log dari database produksi. Saya mencoba menggunakan SSMS dan memiliki kesalahan yang sama:
Saya menggunakan T-SQL untuk memodifikasi file log database sebagai gantinya.
Setelah perintah selesai saya bisa membuka properti database di SSMS. Saya harap ini bekerja untuk orang lain.
sumber
Ini bisa terjadi pada database yang sangat sibuk atau bahkan jika database tersebut tidak sibuk secara umum, tetapi saat ini sedang mengeksekusi pernyataan yang dengan cepat mengubah ukuran file log. Misalnya, jika Anda mencoba menghapus jumlah baris (jutaan) yang sangat besar dari sebuah tabel, mesin harus mencatat setiap baris untuk tujuan rollback, yang akan memaksa file log tumbuh dengan cepat. Saat ini sedang berlangsung, jika Anda mencoba untuk membuka properti database di SSMS, Anda akan melihat pesan kesalahan "ukuran properti tidak tersedia .."
Cara lain untuk mereproduksinya adalah sebagai berikut: ambil database yang sangat besar (100+ juta baris), dan jalankan pernyataan ALTER TABLE di atasnya (mis. Konversi kolom char ke varchar). Lihat file log Anda meledak dalam banyak megs atau bahkan gigabytes per detik. Sekali lagi, saat ini terjadi, SSMS Anda tidak akan dapat memberi Anda ukuran database karena itu berubah terlalu cepat untuk menjadi akurat.
Tidak perlu dikatakan, tolong jangan coba ini di server langsung. :)
sumber
Baru saja menemukan ini dan dari jejak, tampaknya ini diblokir oleh operasi INDEX REBUILD yang sedang berjalan
Kesalahan spesifik saya adalah
Itu harus memiliki nilai batas waktu yang sangat rendah, tetapi mungkin Anda dapat memeriksa apakah Anda memiliki sesuatu yang diblokir ketika Anda mencoba mengakses properti
sumber
Saya mendapatkan pesan kesalahan ini selama penyebaran solusi alat database SQL Server terhadap database (pada SQL Server 2008 R2). Setelah penyebaran selesai, kesalahan hilang. Agak tidak menyenangkan karena DB dalam mode Pengguna Tunggal atau hanya baca (dari corse tidak) atau apa pun yang menunjukkan alasannya.
sumber