3906: Failed to update database because the database is read-only
SQL ServerNe demek?
Salt okunur (read-only) olarak işaretlenmiş bir veritabanında veri değiştirmeye (INSERT/UPDATE/DELETE/DDL) çalıştınız. SQL Server yazma işlemini reddetti.
Neden olur?
Veritabanı READ_ONLY moduna alınmış; bir Availability Group'ta secondary replikaya bağlanılmış (okuma amaçlı); veritabanı bir snapshot ya da geri yükleme sonrası read-only kalmış; ya da dosya sistemi salt okunur. Uygulamanın yanlışlıkla secondary replikaya yönlendirilmesi tipik nedendir.
Nasıl çözülür?
Gerçekten yazılabilir olması gerekiyorsa: ALTER DATABASE veritabani SET READ_WRITE; Availability Group'ta ise uygulamayı primary replikaya yönlendirin (ReadWrite bağlantı yönlendirmesi/uygulama amacını kontrol edin). Salt okunur bir snapshot ise yazma yapılamaz; ana veritabanını hedefleyin. Dosya izinlerini/ dosya sistemini de doğrulayın.
Aynı motorda diğer kayıtlar
- 102Incorrect syntax near 'token'
- 8114Error converting data type X to Y
- 1204The instance of the SQL Server Database Engine cannot obtain a LOCK resource
- 15023User already exists in the current database
- 18452Login failed. The login is from an untrusted domain and cannot be used with Windows authentication
- 605Attempt to fetch logical page belongs to a different allocation unit
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column