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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-adatbázis a Microsoft Fabricben
Az SMO-ban a szolgáltatás főkulcsát az ServiceMasterKey objektum képviseli. Erre az ServiceMasterKey objektum tulajdonsága hivatkozik Server . A metódussal Regenerate újragenerálható.
Az adatbázis főkulcsát az MasterKey objektum jelöli. A IsEncryptedByServer tulajdonság azt jelzi, hogy az adatbázis főkulcsát a szolgáltatás főkulcsa titkosítja-e. A főadatbázis titkosított másolata automatikusan frissül az adatbázis főkulcsának módosításakor.
A szolgáltatáskulcs titkosítását a DropServiceKeyEncryption metódussal lehet elvetni, és jelszóval titkosítani az adatbázis főkulcsát. Ebben az esetben explicit módon meg kell nyitnia az adatbázis főkulcsát, mielőtt hozzáfér az általa védett titkos kulcsokhoz.
Amikor egy adatbázist csatol egy SQL Server-példányhoz, meg kell adnia az adatbázis főkulcsának jelszavát, vagy végre kell hajtania a AddServiceKeyEncryption metódust, hogy az adatbázis főkulcsának titkosítatlan másolatát elérhetővé tegye a szolgáltatás főkulcsával való titkosításhoz. Ezt a lépést javasoljuk, hogy ne kelljen explicit módon megnyitnia az adatbázis főkulcsát.
A Regenerate metódus újragenerálja az adatbázis főkulcsát. Az adatbázis főkulcsának létrehozásakor az adatbázis főkulcsával titkosított összes kulcs vissza lesz fejtve, majd az új adatbázis főkulcsával titkosítja őket. A DropServiceKeyEncryption metódus eltávolítja az adatbázis főkulcsának titkosítását a szolgáltatás főkulcsával. AddServiceKeyEncryption a főkulcs másolatát a szolgáltatás főkulcsával titkosítja, és az aktuális adatbázisban és a főadatbázisban is tárolja.
Az SMO-ban a tanúsítványokat az Certificate objektum jelöli. Az Certificate objektum olyan tulajdonságokkal rendelkezik, amelyek meghatározzák a nyilvános kulcsot, a tulajdonos nevét, az érvényességi időtartamot és a kiállítóra vonatkozó információkat. A tanúsítványhoz való hozzáférés engedélyezését az Engedélyezés, a Visszavonás és a Megtagadás metódussal lehet szabályozni.
Example
Az alábbi példakódokhoz ki kell választania a programozási környezetet, a programozási sablont és a programozási nyelvet az alkalmazás létrehozásához. További információ: Visual C# SMO-projekt létrehozása a Visual Studio .NET-.
Tanúsítvány hozzáadása a Visual C-ben#
A példakód egy egyszerű tanúsítványt hoz létre titkosítási jelszóval. Más objektumoktól eltérően a Create metódusnak számos túlterhelése van. A példában használt túlterhelés egy új tanúsítványt hoz létre titkosítási jelszóval.
{
//Connect to the local, default instance of SQL Server.
{
Server srv = new Server();
//Reference the AdventureWorks2022 database.
Database db = srv.Databases["AdventureWorks2022"];
//Define a Certificate object variable by supplying the parent database and name in the constructor.
Certificate c = new Certificate(db, "Test_Certificate");
//Set the start date, expiry date, and description.
System.DateTime dt;
DateTime.TryParse("January 01, 2010", out dt);
c.StartDate = dt;
DateTime.TryParse("January 01, 2015", out dt);
c.ExpirationDate = dt;
c.Subject = "This is a test certificate.";
//Create the certificate on the instance of SQL Server by supplying the certificate password argument.
c.Create("pGFD4bb925DGvbd2439587y");
}
}
Tanúsítvány hozzáadása a PowerShellben
A példakód egy egyszerű tanúsítványt hoz létre titkosítási jelszóval. Más objektumoktól eltérően a Create metódusnak számos túlterhelése van. A példában használt túlterhelés egy új tanúsítványt hoz létre titkosítási jelszóval.
# Set the path context to the local, default instance of SQL Server and get a reference to AdventureWorks2022
CD \sql\localhost\default\databases
$db = get-item AdventureWorks2022
#Create a certificate
$c = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Certificate -argumentlist $db, "Test_Certificate"
$c.StartDate = "January 01, 2010"
$c.Subject = "This is a test certificate."
$c.ExpirationDate = "January 01, 2015"
#Create the certificate on the instance of SQL Server by supplying the certificate password argument.
$c.Create("pGFD4bb925DGvbd2439587y")