Aracılığıyla paylaş


sp_control_dbmasterkey_password (Transact-SQL)

Ekler veya bir veritabanı ana anahtaraçmak için gereken parolayı içeren bir kimlik bilgisi keser.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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ının adını belirtir.Sistem Veritabanı olamaz.database_nameis nvarchar.

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

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

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

Açıklamalar

Zaman SQL Server veritabanı ana anahtar anahtarşifrelemek veya şifresini çözmek gerekiyor SQL Server ana anahtar örnek hizmet ana anahtar veritabanı şifresini çözmek için çalışır.Şifre çözme başarısız olursa, SQL Server ana anahtar kimlik bilgileri için gerekli ana anahtarveritabanı olarak aynı ailenin GUID olması için kimlik bilgileri deposunu arar.SQL Serversonra veritabanı ana anahtar ile eşleşen her kimlik bilgisi kadar şifre çözme başarılı ya da daha fazla hiçbir kimlik bilgilerivardır şifresi dener.

Dikkat notuDikkat

Bir ana anahtar kimlik bilgisi için bir veritabanı oluşturma sa ve diğer yüksek ayrıcalıklı sunucu sorumluları.Böylece kendi anahtar hiyerarşisi hizmet ana anahtartarafından şifresi çözülemez bir veritabanını yapılandırabilirsiniz.Bu seçenek olarak bir-savunma için erişilebilir olmamalıdır şifreli bilgileri içeren veritabanları için desteklenir sa ya da diğer yüksek ayrıcalıklı sunucu sorumluları.Bu derinlemesine savunma gibi bir veritabanı kaldırır için bir ana anahtar kimlik bilgisi oluşturuluyor, etkinleştirme sa ve diğer yüksek ayrıcalıklı sunucu sorumluları şifresini veritabanı.

Kullanılarak oluşturulan kimlik sp_control_dbmasterkey_password şuralarda sys.master_key_passwords Katalog görünümü.Veritabanı ana anahtarlar için oluşturulan kimlik bilgileri adları aşağıdaki biçime sahiptir: ##DBMKEY_<database_family_guid>_<random_password_guid>##.Parola kimlik bilgileri gizli saklanır.Kimlik bilgisi deposuna eklenen her parolası yoktur bir satırda sys.credentials.

Kullanamayacağınız sp_control_dbmasterkey_password sistem veritabanlarıaşağıdaki için bir kimlik bilgisi oluşturmak için: master, model, msdb, or tempdb.

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

Belirtilen veritabanı için bir kimlik bilgisi olarak depolanmış parola belirtirseniz sp_control_dbmasterkey_password olur başarısız.

Not

İki farklı sunucu örnekleri veritabanlarından aynı ailenin GUID paylaşabilirsiniz.Bu durumda, veritabanları aynı ana anahtar kimlik bilgileri deposunu kayıtlarında paylaşacaktır.

Geçilen parametreler sp_control_dbmasterkey_password izlemeler görünmüyor

Not

Kimlik bilgisini kullanarak eklenen kullanırken sp_control_dbmasterkey_password veritabanı ana anahtaraçmak için veritabanı ana anahtar hizmet ana anahtarçözülmesine.Veritabanı salt okunur modda, re -şifreleme işlemi başarısız olur ve veritabanı ana anahtar şifrelenmeden bırakılır.Veritabanı ana anahtarerişmek için açık ana anahtar deyim ve bir parola kullanmalısınız.Veritabanı salt okunur moda geçmeden önce bir parola kullanımını önlemek için kimlik bilgisi oluşturun.

İzinler

Veritabanı üzerinde control izni gerektirir.

Örnekler

A.Kimlik bilgisi AdventureWorks2008R2 ana anahtaroluşturma

Kimlik bilgileri için aşağıdaki örnek oluşturur AdventureWorks2008R2 veritabanı ana anahtarve ana anahtar parola kimlik gizli olarak kaydederÇünkü iletilen tüm parametreleri sp_control_dbmasterkey_password veri türünde olmalıdır nvarchar, metin dizelerini çevrim işleçdönüştürülür N.

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

B.Veritabanı ana anahtariçin bir kimlik bilgisi siliniyor

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

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