Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SMO'da hizmet ana anahtarı nesnesi tarafından ServiceMasterKey temsil edilir. Bu, nesnesinin ServiceMasterKey özelliği tarafından başvurulur Server . yöntemi kullanılarak Regenerate yeniden oluşturulabilir.
Veritabanı ana anahtarı nesnesi tarafından MasterKey temsil edilir. IsEncryptedByServer özelliği, veritabanı ana anahtarının hizmet ana anahtarı tarafından şifrelenip şifrelenmediğini gösterir. Ana veritabanındaki şifrelenmiş kopya, veritabanı ana anahtarı her değiştirildiğinde otomatik olarak güncelleştirilir.
yöntemini kullanarak hizmet anahtarı şifrelemesini DropServiceKeyEncryption bırakmak ve veritabanı ana anahtarını bir parolayla şifrelemek mümkündür. Bu durumda, güvenli hale getirdiği özel anahtarlara erişmeden önce veritabanı ana anahtarını açıkça açmanız gerekir.
Sql Server örneğine veritabanı eklendiğinde, veritabanı ana anahtarı için parolayı sağlamanız veya veritabanı ana anahtarının şifrelenmemiş bir kopyasını hizmet ana anahtarıyla şifrelemek üzere kullanılabilir hale getirmek için yöntemini yürütmeniz AddServiceKeyEncryption gerekir. Bu adım, veritabanı ana anahtarını açıkça açma gereksinimini önlemek için önerilir.
Regenerate yöntemi, veritabanı ana anahtarını yeniden oluşturur. Veritabanı ana anahtarı yeniden oluşturulduğunda, veritabanı ana anahtarıyla şifrelenen tüm anahtarların şifresi çözülür ve bunları yeni veritabanı ana anahtarıyla şifreler. yöntemi, DropServiceKeyEncryption hizmet ana anahtarı tarafından veritabanı ana anahtarının şifrelemesini kaldırır. AddServiceKeyEncryption , ana anahtarın bir kopyasının hizmet ana anahtarı kullanılarak şifrelenmesini ve hem geçerli veritabanında hem de ana veritabanında depolanmasını sağlar.
SMO'da sertifikalar nesnesi tarafından Certificate temsil edilir. Certificate nesnesi ortak anahtarı, konunun adını, geçerlilik süresini ve veren hakkındaki bilgileri belirten özelliklere sahiptir. Sertifikaya erişim izni Verme, İptal Etme ve Reddetme yöntemleri kullanılarak denetlenir.
Example
Aşağıdaki kod örnekleri için, uygulamanızı oluşturmak için programlama ortamını, programlama şablonunu ve programlama dilini seçmeniz gerekir. Daha fazla bilgi için bkz. Visual Studio .NET'te Visual C# SMO Projesi Oluşturma.
Visual C'de Sertifika Ekleme#
Kod örneği, şifreleme parolası ile basit bir sertifika oluşturur. Diğer nesnelerin aksine, yönteminin Create birkaç aşırı yüklemesi vardır. Örnekte kullanılan aşırı yükleme, şifreleme parolası ile yeni bir sertifika oluşturur.
{
//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");
}
}
PowerShell'de Sertifika Ekleme
Kod örneği, şifreleme parolası ile basit bir sertifika oluşturur. Diğer nesnelerin aksine, yönteminin Create birkaç aşırı yüklemesi vardır. Örnekte kullanılan aşırı yükleme, şifreleme parolası ile yeni bir sertifika oluşturur.
# 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")