3906: Failed to update database because the database is read-only (não foi possível atualizar o banco porque ele é somente leitura)
SQL ServerO que significa?
Você tentou modificar dados (INSERT/UPDATE/DELETE/DDL) em um banco marcado como somente leitura. O SQL Server rejeitou a escrita.
Por que acontece?
O banco foi configurado como READ_ONLY; a conexão foi para uma réplica secundária de um Availability Group (destinada a leituras); o banco permaneceu somente leitura após um snapshot ou restore; ou o sistema de arquivos é somente leitura. Uma aplicação direcionada por engano a uma réplica secundária é a causa típica.
Como resolver
Se ele realmente precisar aceitar escritas: ALTER DATABASE mydb SET READ_WRITE; Em um Availability Group, direcione a aplicação para a réplica primária (verifique o roteamento de conexões ReadWrite / ApplicationIntent). Não é possível escrever em um snapshot somente leitura; use o banco de origem como destino. Verifique também as permissões de arquivos e o sistema de arquivos.
Mais entradas deste banco
- 102Incorrect syntax near 'token'
- 8114Error converting data type X to Y
- 1204The instance of the SQL Server Database Engine cannot obtain a LOCK resource (a instância do SQL Server Database Engine não consegue obter um recurso LOCK)
- 15023User already exists in the current database (o usuário já existe no banco atual)
- 18452Login failed. The login is from an untrusted domain and cannot be used with Windows authentication (falha no login; o login vem de um domínio não confiável e não pode ser usado com autenticação do Windows)
- 605Attempt to fetch logical page belongs to a different allocation unit (a página lógica solicitada pertence a outra allocation unit)
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column (ALTER TABLE ALTER COLUMN falhou porque um ou mais objetos acessam esta coluna)