Come ripristinare un database "contenuto"? [chiuso]


23

Di recente ho provato a ripristinare nel mio sviluppo locale SQL Server un backup da un'istanza di rete. Con mia sorpresa ho ricevuto il seguente messaggio di errore:

Messaggio 12824, livello 16, stato 1, riga 3 Il valore sp_configure 'autenticazione database contenuto' deve essere impostato su 1 per ripristinare un database contenuto. Potrebbe essere necessario utilizzare RECONFIGURE per impostare value_in_use. Messaggio 3013, livello 16, stato 1, riga 3 RIPRISTINA DATABASE si sta chiudendo in modo anomalo.

Quali passi devo seguire per ripristinare correttamente il database?


2
Quale versione di SQL Server? L'errore è abbastanza chiaro su una risoluzione, hai provato a impostare il contained database authenticationvalore su 1 come si diceva?
LowlyDBA,

1
Penso che questa sia una domanda valida, se stai provando a ripristinare un file .bacpac del database SQL di Azure, nella tua istanza locale - ottieni questo errore. La risposta è valida per risolvere questo problema.
Ralph Willgoss,

Risposte:


37

Per ripristinare un database contenuto in una diversa istanza di sql server, in questo caso il mio server locale, la proprietà " Abilita database contenuti " deve essere impostata su True .

Puoi farlo da Management Studio:

  1. Fare clic con il tasto destro sull'istanza del server, selezionare Proprietà
  2. Selezionare la pagina Avanzate , impostare in Contenimento del valore della proprietà su Vero
  3. Procedere per ripristinare il backup del database.
  4. ALTER AUTHORIZATION ON DATABASE::ReplaceThisWithYourDatabaseName TO ReplaceThisWithLeastPrivilegeUser;

Ecco le righe di script che ho effettivamente utilizzato per abilitare / disabilitare il contenimento:

-- Enable "contained database authentication"
EXEC sp_configure 'contained', 1;
RECONFIGURE;

-- Disable "contained database authentication"
EXEC sp_configure 'contained', 0;
-- Force disabling of "contained database authentication"
RECONFIGURE WITH OVERRIDE;

Per ulteriori informazioni, consultare:
http://www.sqlsoldier.com/wp/sqlserver/protectionfromrestoringabackupofacontaineddatabase


2

Hai provato a fare ciò che descrive l'errore?

USE master
GO
sp_configure 'show   advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'CONTAINED DATABASE AUTHENTICATION', 1
GO
RECONFIGURE
GO
sp_configure 'show   advanced options', 0 
GO
RECONFIGURE
GO
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.