sp_control_dbmasterkey_password (języka Transact-SQL)
Dodaje lub porzuca poświadczenie zawierające hasła do otwierania bazy danych głównego klucz.
Składnia
sp_control_dbmasterkey_password @db_name = 'database_name'
, @password = 'master_key_password'
, @action = { 'add' | 'drop' }
Argumenty
@db_name=N'database_name'
Określa nazwę bazy danych skojarzonej z tym poświadczeń.Nie może być systemowej bazy danych.database_nameis nvarchar.@password=N'password'
Określa hasło kluczgłówny.passwordis nvarchar.@action=N'add'
Określa, że poświadczenia dla określonej bazy danych zostaną dodane do magazynu poświadczeń.Poświadczenie będzie zawierać hasło kluczgłównego bazy danych.Wartość przekazywana do @action jest nvarchar.@action=N'drop "
Określa, że poświadczenia dla określonej bazy danych zostanie usunięty z magazynu poświadczeń.Wartość przekazywana do @action jest nvarchar.
Uwagi
Po SQL Server wymaga bazy danych główny klucz do odszyfrowywania lub szyfrowania klucz SQL Server próbuje odszyfrować bazę danych głównego klucz usługa główny klucz wystąpienie.Jeśli odszyfrowywanie nie powiedzie się, SQL Server przeszukuje magazyn poświadczeń dla kluczgłównegopoświadczenia mają tej samej rodziny GUID jako baza danych, dla którego potrzebuje kluczgłówny. SQL Servernastępnie próbuje odszyfrować bazy danych głównego klucz z każdego odpowiedniego poświadczeń, dopóki odszyfrowywanie powiedzie się lub nie istnieją żadne więcej poświadczenia.
Przestroga |
|---|
Nie należy tworzyć poświadczenie klucz głównego do bazy danych, która musi być niedostępne dla sa i innych podmiotów wysoko uprzywilejowane serwera.Bazy danych można skonfigurować tak, aby nie można odszyfrować hierarchii klucz przez głównego usługa klucz.Ta opcja jest obsługiwana jako obrony w głębokości dla baz danych, które zawierają zaszyfrowane informacje, które nie powinny być dostępne do sa lub inne podmioty wysoko uprzywilejowane serwera.Tworzenie poświadczenie klucz głównego dla bazy danych powoduje usunięcie tej obrony w głębokości, umożliwiając sa i innych podmiotów wysoko uprzywilejowane serwera odszyfrować bazy danych. |
Poświadczenia, które są tworzone za pomocą sp_control_dbmasterkey_password są widoczne w sys.master_key_passwords katalogu widoku.Nazwy poświadczenia , które są tworzone dla kluczy głównych bazy danych mają następujący format: ##DBMKEY_<database_family_guid>_<random_password_guid>##.Hasło jest przechowywana jako poświadczenie klucza tajnego.Dla każdego hasła dodanych do magazynu poświadczeń jest wiersza w sys.credentials.
Nie można używać sp_control_dbmasterkey_password do tworzenia poświadczeń dla następujących bazy danych systemu: master, model, msdb, or tempdb.
sp_control_dbmasterkey_passwordnie weryfikuje, że hasło można otworzyć główny klucz określonej bazy danych.
Jeśli określisz hasła, które są już przechowywane w poświadczeń dla określonej bazy danych sp_control_dbmasterkey_password będzie zakończą się niepowodzeniem.
Ostrzeżenie
Dwie bazy danych z innego serwera wystąpień można udostępniać tej samej rodziny identyfikatora GUID.W takim przypadku bazy danych będzie udostępniać takich samych rekordów głównego klucz magazynu poświadczeń.
Parametry przekazywane do sp_control_dbmasterkey_password nie są wyświetlane w śladów.
Ostrzeżenie
Kiedy używasz poświadczeń, który został dodany za pomocą sp_control_dbmasterkey_password otworzyć bazę danych główny klucz, klucz główny bazy danych jej jest ponowne zaszyfrowanie przy kluczgłównego usługa .Jeśli baza danych jest w trybie tylko do odczytu, operacjaszyfrowanie re - zakończy się niepowodzeniem i wzorca bazy danych klucz pozostanie niezaszyfrowany.Dla kolejnych dostępu do kluczgłównego bazy danych należy użyć OTWORZYĆ klucza głównego instrukcja i hasła.Aby uniknąć przy użyciu hasła, należy utworzyć poświadczenia przed przeniesieniem bazy danych w trybie tylko do odczytu.
Uprawnienia
Wymaga uprawnienie Kontrola w bazie danych.
Przykłady
A.Tworzenie poświadczenie kluczgłówny AdventureWorks2008R2
Poniższy przykład tworzy poświadczeń dla AdventureWorks2008R2 bazy danych kluczgłówny i zapisuje hasło klucz głównego jako poufne w poświadczeń.Ponieważ wszystkie parametry, które są przekazywane do sp_control_dbmasterkey_password musi być typu danych nvarchar, ciągi tekstowe są konwertowane z odlewania operator N.
EXEC sp_control_dbmasterkey_password @db_name = N'AdventureWorks2008R2',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'add';
GO
B.Upuszczanie poświadczenie wzorca bazy danych klucz
W następującym przykładzie usunięto poświadczeń utworzonych 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'AdventureWorks2008R2',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4', @action = N'drop';
GO
.gif)
Przestroga