Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Bug]: changing recovery model en database configuration

Aperta
#130 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@ericjulien ci sta già lavorando.

Dal 6/8/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

bug User-filled
Container image tag

sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest

Host OS

Windows 11 (x86_64)

Container runtime and version

(build 2026-07-16, EngineEdition = 5, ProductVersion 12.0.2000.8)

What happened

alter database recovery model should not be allowed into sql-azure-container databases to match cloud version.

Additionally, after changing a database's recovery model with ALTER DATABASE ... SET RECOVERY, sys.databases reports inconsistent values for the same database depending on which database the query runs from:

Queried from master → returns the actual value that was set (e.g. BULK_LOGGED).
Queried from within the user database → always returns FULL, regardless of what was set.

seems hardcoded.

Steps to reproduce

-- 1) Create a database and change its recovery model (from a master connection)
CREATE DATABASE recotest;
GO
ALTER DATABASE recotest SET RECOVERY BULK_LOGGED;
GO

-- 2) Read it from master -> returns BULK_LOGGED (the real value)
SELECT recovery_model_desc
FROM sys.databases
WHERE name = 'recotest';
GO

-- 3) Now connect WITH Database=recotest and read the SAME view
-- (e.g. sqlcmd ... -d recotest) -> returns FULL (inconsistent!)
SELECT recovery_model_desc
FROM sys.databases
WHERE database_id = DB_ID();
GO

Expected: both queries return the same value (BULK_LOGGED).
Actual: master returns BULK_LOGGED, the user-database connection returns FULL.

Same thing via sqlcmd against the container, to show the context dependency:

docker exec /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P -C -d master -Q "SELECT recovery_model_desc FROM sys.databases WHERE name='recotest';"

-> BULK_LOGGED

docker exec /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P -C -d recotest -Q "SELECT recovery_model_desc FROM sys.databases WHERE database_id=DB_ID();"

-> FULL

Additional context

No response

Confirmation
  • I scanned open issues and Known limitations for a duplicate.
Lingua principale
Shell
Stelle
19
Fork
6
Merge medio
5g 5h
PR unite (30g)
4

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/azure-sql-database-container

Tutte le issue di microsoft/azure-sql-database-container

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.