Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Felügyelt Azure SQL-példány
Hozzáad vagy elvet egy hitelesítő adatot, amely tartalmazza az adatbázis főkulcsának (DMK) megnyitásához szükséges jelszót.
Transact-SQL szintaxis konvenciói
Szintaxis
sp_control_dbmasterkey_password @db_name = 'db_name'
, @password = 'password'
, @action = { N'add' | N'drop' }
Érvek
Fontos
A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.
@db_name = N'db_name'
Megadja a hitelesítő adatokhoz társított adatbázis nevét. Nem lehet rendszeradatbázis. @db_namenvarchar.
@password = N'jelszó'
Megadja a DMK jelszavát. @passwordnvarchar.
@action = { N'add' | N'drop' }
A hitelesítőadat-tárolóban lévő megadott adatbázis hitelesítő adatainak műveletét adja meg. A @action átadott érték nvarchar.
| Akció | Leírás |
|---|---|
add |
Megadja, hogy a megadott adatbázis hitelesítő adatai hozzá legyenek adva a hitelesítőadat-tárolóhoz. A hitelesítő adatok tartalmazzák a DMK jelszavát. |
drop |
Megadja, hogy a megadott adatbázis hitelesítő adatai törlődnek a hitelesítőadat-tárolóból. |
Megjegyzések
Ha az SQL Servernek DMK-ra van szüksége egy kulcs visszafejtéséhez vagy titkosításához, az SQL Server megpróbálja visszafejteni a DMK-t a példány szolgáltatás-főkulcsával (SMK). Ha a visszafejtés sikertelen, az SQL Server megkeresi a hitelesítőadat-tárolóban azokat a hitelesítő adatokat, amelyek családazonosítója megegyezik azzal az adatbázissal, amelyhez kulcsra van szüksége. Az SQL Server ezután megpróbálja visszafejteni a DMK-t minden egyező hitelesítő adattal, amíg a visszafejtés sikeres nem lesz, vagy nincs több hitelesítő adat.
Figyelmeztet
Ne hozzon létre főkulcs-hitelesítő adatokat olyan adatbázisokhoz, amelyeknek elérhetetlennek kell lenniük sa és más magas jogosultságú kiszolgálónevek számára. Konfigurálhat egy adatbázist, hogy a kulcshierarchiáját ne tudja visszafejteni az SMK. Ez a beállítás a titkosított információkat tartalmazó adatbázisok részletes védelmeként támogatott, amelyek nem lehetnek elérhetők sa vagy más magas jogosultságú kiszolgálónevek számára. Az ilyen adatbázisok hitelesítő adatainak létrehozása eltávolítja ezt a mélységi védelmet, lehetővé téve sa és más magas jogosultságú kiszolgálónevek számára az adatbázis visszafejtését.
A sp_control_dbmasterkey_password használatával létrehozott hitelesítő adatok láthatók a sys.master_key_passwords katalógusnézetben. A DMK-k számára létrehozott hitelesítő adatok nevei a következő formátummal rendelkeznek: ##DBMKEY_<database_family_guid>_<random_password_guid>##. A jelszó hitelesítőadat-titkos kódként van tárolva. A hitelesítőadat-tárolóhoz hozzáadott jelszavaknak egyező soruk van a sys.credentials.
A sp_control_dbmasterkey_password nem használható hitelesítő adatok létrehozásához a következő rendszeradatbázisokhoz: master, model, msdbvagy tempdb.
sp_control_dbmasterkey_password nem ellenőrzi, hogy a jelszó meg tudja-e nyitni a megadott adatbázis DMK-ját.
Ha a megadott adatbázis hitelesítő adataiban már tárolt jelszót ad meg, sp_control_dbmasterkey_password sikertelen lesz.
A különböző kiszolgálópéldányokból származó két adatbázis ugyanazt a családi GUID-t használhatja. Ha ez történik, az adatbázisok ugyanazokkal a DMK-rekordokkal osztoznak a hitelesítőadat-tárolóban.
A sp_control_dbmasterkey_password átadott paraméterek nem jelennek meg a nyomkövetésekben.
Ha a DMK megnyitásához a sp_control_dbmasterkey_password használatával hozzáadott hitelesítő adatot használja, a DMK újra lesz titkosítva az SMK által. Ha az adatbázis írásvédett módban van, az újratitkosítási művelet meghiúsul, és a DMK titkosítatlan marad. A DMK későbbi eléréséhez a OPEN MASTER KEY utasítást és egy jelszót kell használnia. A jelszó használatának elkerülése érdekében az adatbázis írásvédett üzemmódba helyezése előtt hozza létre a hitelesítő adatokat.
Lehetséges visszamenőleges kompatibilitási probléma
A tárolt eljárás jelenleg nem ellenőrzi, hogy létezik-e kulcs. Ez a funkció a visszamenőleges kompatibilitás érdekében engedélyezett, de figyelmeztetést jelenít meg. Ez a viselkedés elavult. Egy későbbi kiadásban a kulcsnak léteznie kell, és a tárolt eljárásban használt jelszónak sp_control_dbmasterkey_password meg kell egyeznie a DMK titkosításához használt jelszavak egyikével.
Engedélyek
A sysadmin rögzített kiszolgálói szerepkör tagságát igényli, vagy közvetlenül ezen a tárolt eljáráson hajthat végre engedélyt.
Példák
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
Egy. Hitelesítő adatok létrehozása az AdventureWorks főkulcsához
Az alábbi példa létrehoz egy hitelesítő adatot a AdventureWorks2025 DMK számára, és a főkulcsjelszót a hitelesítő adatok titkos kulcsaként menti. Mivel a sp_control_dbmasterkey_password átadott összes paraméternek adattípusúnak kell lennie, nvarchar, a szöveges sztringek az öntvény operátorral Nlesznek konvertálva.
EXECUTE sp_control_dbmasterkey_password
@db_name = N'AdventureWorks2022',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4',
@action = N'add';
GO
B. Adatbázis főkulcsának hitelesítő adatainak elvetése
Az alábbi példa eltávolítja az A példában létrehozott hitelesítő adatokat. Minden paraméterre szükség van, beleértve a jelszót is.
EXECUTE sp_control_dbmasterkey_password
@db_name = N'AdventureWorks2022',
@password = N'sdfjlkj#mM00sdfdsf98093258jJlfdk4',
@action = N'drop';
GO