Aracılığıyla paylaş


hakkındasp_control_dbmasterkey_passwordVeritabanı (Transact-sql)

Ekler veya veritabanı ana anahtar açmak için gereken parolayı içeren bir kimlik bilgisi düşer.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_control_dbmasterkey_password @db_name = 'database_name' 
        , @password = 'master_key_password' 
        , @action = { 'add' | 'drop' }

Bağımsız değişkenler

  • @db\_name=N'database_name'
    Bu kimlik bilgisi ile ilişkili veritabanı adını belirtir. Sistem veritabanı olamaz. database_nameis nvarchar.

  • @password=N'password'
    Ana anahtar parolasını belirtir. passwordis nvarchar.

  • @action=N'add'
    Belirtilen veritabanı için bir kimlik bilgisi kimlik bilgisi deposuna ekleneceğini belirtir. Kimlik bilgileri veritabanı ana anahtar parolasını içerir. Geçirilen değer @actionolan nvarchar.

  • @action=N'drop'
    Belirtilen veritabanı için bir kimlik bilgisi kimlik bilgisi deposundan çökecektir belirtir. Geçirilen değer @actionolan nvarchar.

Açıklamalar

Ne zaman SQL Serverşifresini çözmek veya bir anahtarı şifrelemek için veritabanı ana anahtar ihtiyacı SQL Serververitabanı ana anahtar ile örnek hizmet ana anahtar şifresini dener. Şifre çözme başarısız olursa, SQL Serververitabanı ana anahtar ihtiyacı olarak aynı aile GUID ana anahtar kimlik bilgileri kimlik bilgisi mağaza arar. SQL Serverdaha sonra şifre çözme başarılı veya daha fazla kimlik bilgileri vardır kadar her eşleşen kimlik bilgisi ile veritabanı ana anahtar şifresini dener.

Dikkat notuDikkat

Erişilemediği için gereken veritabanı ana anahtar kimlik oluşturma değil save diğer yüksek ayrıcalıklı sunucu sorumluları. Böylece onun anahtar hiyerarşisi hizmet ana anahtarın şifresi çözülemez bir veritabanını yapılandırabilirsiniz. Bu seçenek olarak bir savunma derinlemesine erişilebilir olmamalıdır şifreli bilgileri içeren veritabanları için desteklenir saya da diğer yüksek ayrıcalıklı sunucu sorumluları. Bu savunma derinlemesine kaldırır gibi bir veritabanı ana anahtar kimlik oluşturma, etkinleştirme save veritabanı şifresini çözmek için diğer yüksek ayrıcalıklı sunucu sorumluları.

Kullanılarak oluşturulan kimlik sp_control_dbmasterkey_passwordde görülebilen sys.master_key_passwords Katalog görünümü. Veritabanı ana anahtarlar aşağıdaki biçimi için oluşturulan kimlik adları: ##DBMKEY_<database_family_guid>_<random_password_guid>##. Parola kimlik bilgileri gizli olarak saklanır. Kimlik bilgisi deposuna eklenen her parola için orada bir satır sys.credentials.

Sen cant'kullanma sp_control_dbmasterkey_passwordbir kimlik bilgisi için aşağıdaki sistem veritabanları oluşturmak için: master, model, msdb, ya tempdb.

sp_control_dbmasterkey_passwordBelirtilen veritabanı ana anahtar şifre açabilirsiniz doğrulamaz.

Belirtilen veritabanı için bir kimlik bilgisi önceden depolanan parola belirtirseniz sp_control_dbmasterkey_passwordbaşarısız olur.

[!NOT]

İki veritabanları farklı sunucu örnekleri aynı aileden GUID paylaşabilirsiniz. Bu durumda, veritabanlarını kayıt bilgisi deposuna aynı ana anahtar paylaşacak.

Geçilen parametreler için sp_control_dbmasterkey_passwordizlemelerini görünmüyor.

[!NOT]

Kullanılarak eklenen kimlik bilgilerini kullandığınızda sp_control_dbmasterkey_passwordveritabanı ana anahtar açmak için veritabanı ana anahtar hizmeti ana anahtar tarafından çözülmesine. Veritabanı salt okunur modunda ise, şifresinin işlem başarısız olur ve veritabanı ana anahtar şifresiz kalır. Veritabanı ana anahtarı izleyen erişmek için açık ana anahtar deyimi ve bir parola kullanmalısınız. Veritabanı salt okunur moduna geçmeden önce bir parola kullanarak önlemek için kimlik bilgisi oluşturun.

İzinler

Veritabanı üzerinde DENETIM izni gerektirir.

Örnekler

A.Bir kimlik bilgisi için AdventureWorks2012 ana anahtar oluşturma

Bir kimlik bilgisi için aşağıdaki örnek oluşturur AdventureWorks2012veritabanı ana anahtar ve kimlik bilgilerinin gizli olarak ana anahtar parolasını kaydeder. Çünkü iletilen tüm parametreleri sp_control_dbmasterkey_passwordveri türü nvarchardöküm işleci ile metin dizelerine dönüştürülür N.

EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks2012', 
    @password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'add';
GO

EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks2012', 
    @password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'add';
GO

B.Veritabanı ana anahtar için bir kimlik bilgisi siliniyor

Aşağıdaki örnek, a oluşturulan kimlik bilgisi kaldırır. Tüm parametreleri, şifre de dahil olmak üzere, gerekli olduğunu unutmayın.

EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks2012', 
    @password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'drop';
GO

EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks2012', 
    @password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'drop';
GO

Ayrıca bkz.

Başvuru

Güvenlik depolanan yordamlar (Transact-sql)

Sistem saklı yordamları (Transact-sql)

sys.Credentials (Transact-sql)

Kavramlar

Bir şifrelenmiş bir yansıtma veritabanı ayarlama

Kimlik bilgileri (veritabanı altyapısı)