“İçeren” bir veritabanını nasıl geri yükleyebilirim? [kapalı]


23

Geçenlerde yerel gelişim SQL Server'a bir ağ örneğindeki yedeği geri yüklemeye çalıştım. Şaşırdım için aşağıdaki hata iletisini aldım:

Mesaj 12824, Seviye 16, Durum 1, Satır 3 Sp_configure 'içerilen veritabanı kimlik doğrulaması' değeri, içerilen bir veritabanını geri yüklemek için 1'e ayarlanmalıdır. Value_in_use değerini ayarlamak için RECONFIGURE kullanmanız gerekebilir. Mesaj 3013, Seviye 16, Durum 1, Satır 3 VERİTABANI GERİ DESTEK ETMEK anormal biçimde sona eriyor.

Veritabanını başarılı bir şekilde geri yüklemek için hangi adımları izlemeliyim?


2
SQL Server'ın hangi sürümü? Hata bir çözünürlük konusunda oldukça açık, contained database authenticationdediği gibi değeri 1 olarak ayarlamayı denediniz mi?
LowlyDBA

1
Bence bu geçerli bir soru, eğer bir Azure Sql Veri Tabanı .bacpac dosyasını yerel örneğinize geri yüklemeye çalışıyorsanız - bu hatayı alıyorsunuz. Cevap, bunu düzeltmede geçerlidir.
Ralph Willgoss

Yanıtlar:


37

İçerilen bir veritabanını farklı bir sql sunucusu örneğine geri yüklemek için, bu durumda yerel sunucum, " İçeren Veritabanlarını Etkinleştir " özelliğinin Doğru olarak ayarlanması gerekir .

Bunu yönetim stüdyosundan yapabilirsiniz:

  1. Sunucu örneğine sağ tıklayın, Özellikler'i seçin.
  2. Özellik değerini çevrele altında Gerçek değerine ayarlanan Gelişmiş sayfa'yı seçin.
  3. Veritabanı yedeklemesini geri yüklemek için devam edin.
  4. ALTER AUTHORIZATION ON DATABASE::ReplaceThisWithYourDatabaseName TO ReplaceThisWithLeastPrivilegeUser;

Burada çevreyi etkinleştirmek / devre dışı bırakmak için kullandığım komut satırları:

-- 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;

Ek bilgi için lütfen bakınız:
http://www.sqlsoldier.com/wp/sqlserver/protectionfromrestoringabackupofacontaineddatabase


2

Hatanın tarif ettiği şeyi yapmayı denediniz mi?

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.