sp_control_dbmasterkey_password (języka Transact-SQL)
Dodaje lub spadnie poświadczenie zawierające hasło potrzebne do otwierania klucz głównego do bazy danych.
sp_control_dbmasterkey_password @db_name = 'database_name'
, @password = 'master_key_password'
, @action = { 'add' | 'drop' }
Argumenty
@ db_name = N ' database_name"
Określa nazwę z bazy danych skojarzonej z tym poświadczeń.Cannot be a system database.database_name is nvarchar.@ hasła = N ' password"
Specifies the password of the master key.password is nvarchar.@ akcja = N'add "
Określa, że poświadczenia dla określonej bazy danych zostaną dodane do magazynu poświadczeń.Poświadczenia będą zawierać hasło dla klucz głównego w bazie danych.Jest wartością przekazywaną do akcja @ nvarchar.@action =N'drop'
Określa, że poświadczenia dla określonej bazy danych zostanie usunięty z magazynu poświadczeń.Jest wartością przekazywaną do akcja @ nvarchar.
Remarks
Kiedy SQL Server potrzebne do odszyfrowywania lub zaszyfrować klucz prywatny, klucz główny bazy danych SQL Server próbuje odszyfrować klucz główny bazy danych z klucza głównego usługa wystąpienie. If the decryption fails, SQL Server searches the credential store for master key credentials that have the same family GUID as the database for which it needs the master key.SQL Server then tries to decrypt the database master key with each matching credential until the decryption succeeds or there are no more credentials.
Ostrzeżenie
Nie należy tworzyć dla bazy danych, które muszą być niedostępna dla sa i innych głównych serwera wysoko uprzywilejowane poświadczenie klucz głównego.Bazy danych można skonfigurować tak, aby nie można odszyfrować hierarchii klucz przez usługa klucz głównego.Ta opcja jest obsługiwana, jak poprawki zabezpieczeń w głębokości w bazach danych, które zawierają zaszyfrowane informacje, które nie powinny być dostępne dla sa lub innych wystawców wysoko uprzywilejowany serwera.Tworzenie poświadczenie klucz głównego dla takiej bazy danych powoduje usunięcie tej poprawki zabezpieczeń w głębokości, umożliwiając sa i innych głównych serwera wysoko uprzywilejowany odszyfrowywania w bazie danych.
Poświadczenia, które zostały utworzone przy użyciu sp_control_dbmasterkey_password są widoczne w sys.master_key_passwords Służy do wyświetlania katalogu. Nazwy poświadczenia, które zostały utworzone dla kluczy głównych bazy danych mają następujący format: ##DBMKEY_<database_family_guid>_<random_password_guid>##.The password is stored as the credential secret.Dla każdego hasła dodanych do magazynu poświadczenia jest sys.poświadczenia wiersza.
Sp_control_dbmasterkey_password nie można używać do tworzenia poświadczeń dla następujących bazy danych systemu: wzorzec, modelu, msdb lub tempdb.
sp_control_dbmasterkey_password nie weryfikuje, że hasło można otworzyć klucz głównego z określonej bazy danych.
Jeśli określisz hasła, które już są przechowywane w poświadczeń dla określonej bazy danych, sp_control_dbmasterkey_password nie powiedzie się.
Uwaga
Dwie bazy danych z innego serwera wystąpień mogą współużytkować ten sam identyfikator GUID systemów z rodziny.W takim przypadku baz danych będzie udostępniać te same rekordy klucz głównego magazynu poświadczeń.
Parametry przekazane do sp_control_dbmasterkey_password nie są wyświetlane w śladów.
Uwaga
Podczas korzystania z poświadczeń, który został dodany za pomocą sp_control_dbmasterkey_password do otwierania klucz głównego w bazie danych przez usługa klucz głównego jest re-encrypted klucz głównego w bazie danych.Jeśli baza danych jest w trybie tylko do odczytu, operacja re-szyfrowanie nie powiedzie się i klucz głównego baza danych pozostanie niezaszyfrowany.Kolejne dostępu do klucza głównego w bazie danych należy użyć instrukcja OPEN klucz główny i hasła.Aby uniknąć za pomocą hasła, należy utworzyć poświadczenia przed przeniesieniem bazy danych do trybu tylko do odczytu.
Uprawnienia
Wymaga uprawnienia kontroli w bazie danych.
Przykłady
A.Tworzenie poświadczeń dla klucz głównego AdventureWorks
Poniższy przykład tworzy poświadczeń dla AdventureWorks klucz główny bazy danych i zapisuje hasło klucza głównego jako hasła w poświadczeniach. Ponieważ wszystkie parametry, które są przekazywane do sp_control_dbmasterkey_password musi być typu danych nvarchar, ciągi tekstowe są podczas konwersji operator rzutowania N.
EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'add';
GO
B.Upuszczanie poświadczeń dla klucz głównego do bazy danych
W następującym przykładzie usunięto poświadczeń, utworzone w przykładzie A.Należy zauważyć, że wszystkie parametry są wymagane, włączając w to hasło.
EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'drop';
GO
Historia zmian
Zaktualizowaną zawartość |
---|
Dodać notatki dotyczące korzystania z sp_control_dbmasterkey_password otworzyć klucz głównego w bazie danych. |