Przy użyciu szyfrowania
W SMO, usługa klucz głównego jest reprezentowana przez ServiceMasterKey obiektu.To jest wywoływany przez ServiceMasterKey Właściwość Server obiektu.Mogą być generowane przy użyciu Regenerate metoda.
Klucz główny bazy danych jest reprezentowana przez MasterKey obiektu.IsEncryptedByServer Właściwość wskazuje, czy klucz główny bazy danych są szyfrowane za pomocą klucza głównego usługa.Zaszyfrowaną kopię w baza danych master jest automatycznie aktualizowana po każdej zmianie bazy danych klucz głównego.
Istnieje możliwość upuszczania za pomocą szyfrowanie klucz usługa DropServiceKeyEncryption metoda i szyfrowanie klucz głównego bazy danych o hasło.W takiej sytuacji należy jawnie otworzyć klucz głównego bazy danych przed uzyskaniem dostępu do kluczy prywatnych, które ma zabezpieczone.
Gdy baza danych jest dołączany do wystąpienie SQL Server, musisz podać hasło dla klucz głównego bazy danych lub wykonać AddServiceKeyEncryption metoda niezaszyfrowane kopie klucz głównego bazy danych dostępne dla szyfrowanie z klucz głównego usługa.Ten krok jest polecany uniknąć potrzeby jawnie otwarcia bazy danych klucz głównego.
Regenerate metoda ponownie generuje klucz główny bazy danych.Baza danych klucza głównego jest regenerowany, klucze, które zostały zaszyfrowane przy użyciu klucza głównego bazy danych są odszyfrowane i szyfruje je nowy klucz główny bazy danych.The DropServiceKeyEncryption method removes the encryption of the database master key by the service master key.AddServiceKeyEncryption causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in the master database.
W SMO, certyfikaty są reprezentowane przez Certificate obiektu.Certificate Obiekt ma właściwości, które określić klucz publiczny, a nazwa tematu, okres ważności i informacje o wystawcy.Uprawnienia dostępu certyfikat jest kontrolowany za pomocą Grant, Revoke i Deny metody.
Przykład
Na przykład następujący kod konieczne będzie wybierz środowisko programowania programowania szablonu i język programowania, aby utworzyć aplikację.Aby uzyskać więcej informacji, zobacz Jak Tworzenie projektu SMO Visual Basic w programie Visual Studio.NET i Jak Tworzenie projektu programu Visual C# SMO w programie Visual Studio.NET.
Dodawanie certyfikatu w języku Visual Basic
Przykładowy kod tworzy prosty certyfikat za pomocą hasła szyfrowanie.W przeciwieństwie do innych obiektów Create Metoda ma kilka overloads.Przeciążenie w przykładzie użyte tworzy nowy certyfikat za pomocą hasła szyfrowanie.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Define a Certificate object variable by supplying the parent database and name in the constructor.
Dim c As Certificate
c = New Certificate(db, "Test_Certificate")
'Set the start date, expiry date, and description.
c.StartDate = DateValue("January 01, 2007")
c.Subject = "This is a test certificate."
c.ExpirationDate = DateValue("January 01, 2008")
'Create the certificate on the instance of SQL Server by supplying the certificate password argument.
c.Create("pGFD4bb925DGvbd2439587y")
Dodawanie certyfikatu w środowisku Visual C#
Przykładowy kod tworzy prosty certyfikat za pomocą hasła szyfrowanie.W przeciwieństwie do innych obiektów Create Metoda ma kilka overloads.Przeciążenie w przykładzie użyte tworzy nowy certyfikat za pomocą hasła szyfrowanie.
{
//Connect to the local, default instance of SQL Server.
{
Server srv = new Server();
//Reference the AdventureWorks2008R2 database.
Database db = srv.Databases["AdventureWorks2008R2"];
//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");
}
}
Dodawanie certyfikatu w PowerShell
Przykładowy kod tworzy prosty certyfikat za pomocą hasła szyfrowanie.W przeciwieństwie do innych obiektów Create Metoda ma kilka overloads.Przeciążenie w przykładzie użyte tworzy nowy certyfikat za pomocą hasła szyfrowanie.
# Set the path context to the local, default instance of SQL Server and get a reference to AdventureWorks2008R2
CD \sql\localhost\default\databases
$db = get-item AdventureWorks2008R2
#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")