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.
Bu makalede, saydam veri şifrelemesi (TDE) kullanarak veritabanını koruma ve ardından SQL Server Management Studio veya Transact-SQL kullanarak veritabanını başka bir SQL Server örneğine taşıma açıklanmaktadır. TDE, verilerin ve günlük dosyalarının gerçek zamanlı G/Ç şifrelemesini ve şifresini çözmeyi gerçekleştirir. Şifreleme, kurtarma sırasında kullanılabilirlik için veritabanı önyükleme kaydında depolanan bir veritabanı şifreleme anahtarı (DEK) kullanır. DEK, sunucunun veritabanında depolanan master bir sertifika veya EKM modülü tarafından korunan asimetrik anahtar kullanılarak güvenliği sağlanan bir simetrik anahtardır.
Sınırlamalar
TDE korumalı veritabanını taşırken, DEK'yi açmak için kullanılan sertifikayı veya asimetrik anahtarı da taşımanız gerekir. SQL Server'ın veritabanı dosyalarına
mastererişebilmesi için sertifikanın veya asimetrik anahtarın hedef sunucunun veritabanına yüklenmesi gerekir. Daha fazla bilgi için bkz . Saydam veri şifrelemesi (TDE).Sertifikayı kurtarmak için hem sertifika dosyasının hem de özel anahtar dosyasının kopyalarını tutmanız gerekir. Özel anahtarın parolasının veritabanı ana anahtarı parolası ile aynı olması gerekmez.
SQL Server burada oluşturulan dosyaları varsayılan olarak içinde
C:\Program Files\Microsoft SQL Server\MSSQL<xx>.MSSQLSERVER\MSSQL\DATAdepolar; burada<xx>sürüm numarasıdır.
Permissions
CONTROL DATABASEVeritabanı ana anahtarını oluşturmak için veritabanında izinmastergerektirir.DEK'yi
CREATE CERTIFICATEmasterkoruyan sertifikayı oluşturmak için veritabanında izin gerektirir.CONTROL DATABASEŞifrelenmiş veritabanında izin veVIEW DEFINITIONveritabanı şifreleme anahtarını şifrelemek için kullanılan sertifika veya asimetrik anahtar üzerinde izin gerektirir.
Saydam Veri Şifrelemesi ile korunan bir veritabanı oluşturma
Aşağıdaki yordamlarda SQL Server Management Studio ve Transact-SQL kullanarak TDE tarafından korunan bir veritabanının nasıl oluşturulacağı gösterilmektedir.
SQL Server Management Studio'yu kullanma
Veritabanında bir veritabanı ana anahtarı ve sertifikası
masteroluşturun. Daha fazla bilgi için bu makalenin devamında yer alan Transact-SQL kullanma bölümüne bakın.Veritabanında sunucu sertifikasının yedeğini
masteroluşturun. Daha fazla bilgi için bu makalenin devamında yer alan Transact-SQL kullanma bölümüne bakın.Nesne Gezgini'nde Veritabanları klasörüne sağ tıklayın ve Yeni Veritabanı'nı seçin.
Yeni Veritabanı iletişim kutusundaki Veritabanı adı kutusuna yeni veritabanının adını girin.
Sahip kutusuna yeni veritabanının sahibinin adını girin. Alternatif olarak, Veritabanı Sahibi Seç iletişim kutusunu açmak için üç noktayı (...) seçin. Yeni veritabanı oluşturma hakkında daha fazla bilgi için bkz. Veritabanı oluşturma.
Nesne Gezgini'nde artı işaretini seçerek Veritabanları klasörünü genişletin.
Oluşturduğunuz veritabanına sağ tıklayın, Görevler'in üzerine gelin ve Veritabanı Şifrelemesini Yönet'i seçin.
Veritabanı Şifrelemesini Yönet iletişim kutusunda aşağıdaki seçenekler kullanılabilir.
Şifreleme Algoritması
Veritabanı şifrelemesi için kullanılacak algoritmayı görüntüler veya ayarlar. AES128 varsayılan algoritmadır. Bu alan boş olamaz. Şifreleme algoritmaları hakkında daha fazla bilgi için bkz. Şifreleme algoritması seçme.
Sunucu sertifikası kullan
Şifrelemeyi bir sertifika tarafından güvenli hale getirilecek şekilde ayarlar. Listeden birini seçin.
VIEW DEFINITIONSunucu sertifikaları üzerinde izniniz yoksa, bu liste boş olur. Bir sertifika şifreleme yöntemi seçilirse, bu değer boş olamaz. Sertifikalar hakkında daha fazla bilgi için bkz. SQL Server Sertifikaları ve Asimetrik Anahtarlar.Sunucu asimetrik anahtarını kullanma
Şifrelemeyi asimetrik bir anahtarla güvenli hale getirilecek şekilde ayarlar. Yalnızca kullanılabilir asimetrik anahtarlar görüntülenir. Yalnızca EKM modülü tarafından korunan bir asimetrik anahtar TDE kullanarak veritabanını şifreleyebilir.
Veritabanı Şifrelemeyi Açık Olarak Ayarla
TDE'yi açmak (işaretli) veya kapatmak (işaretsiz) için veritabanını değiştirir.
İşiniz bittiğinde Tamamseçin.
Transact-SQL kullanma
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart araç çubuğunda, Yeni Sorgu'yu seçin.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.
-- Create a database master key and a certificate in the master database. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO CREATE CERTIFICATE TestSQLServerCert WITH SUBJECT = 'Certificate to protect TDE key'; GO -- Create a backup of the server certificate in the master database. -- The following code stores the backup of the certificate and the private key file in the default data location for this instance of SQL Server -- (C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA). BACKUP CERTIFICATE TestSQLServerCert TO FILE = 'TestSQLServerCert' WITH PRIVATE KEY (FILE = 'SQLPrivateKeyFile', ENCRYPTION BY PASSWORD = '<password>'); GO -- Create a database to be protected by TDE. CREATE DATABASE CustRecords; GO -- Switch to the new database. -- Create a database encryption key, that is protected by the server certificate in the master database. -- Alter the new database to encrypt the database using TDE. USE CustRecords; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE TestSQLServerCert; GO ALTER DATABASE CustRecords SET ENCRYPTION ON; GO
Daha fazla bilgi için bakınız:
- CREATE MASTER KEY (Transact-SQL)
- SERTİFİKA OLUŞTUR (Transact-SQL)
- YEDEKLEME SERTIFIKASI (Transact-SQL)
- VERITABANı OLUŞTURMA
- CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
- VERİ TABANINI DEĞİŞTİR (Transact-SQL)
Saydam Veri Şifrelemesi ile korunan bir veritabanını taşıma
Aşağıdaki yordamlarda SQL Server Management Studio kullanarak ve Transact-SQL kullanarak TDE tarafından korunan bir veritabanını nasıl taşıyabileceğiniz gösterilmektedir.
SQL Server Management Studio'yu kullanma
Veritabanını ayırma.
Nesne Gezgini'nde daha önce şifrelediğiniz veritabanına sağ tıklayın, Görevler'in üzerine gelin ve Ayır... seçeneğini belirleyin.
Veritabanını Ayır iletişim kutusunda aşağıdaki seçenekler kullanılabilir.
Ayrılacak veritabanları
Ayrılacak veritabanlarını listeler.
Veritabanı Adı
Ayrılacak veritabanının adını görüntüler.
Bağlantıları Bırak
Belirtilen veritabanıyla bağlantıların bağlantısını kesin.
Uyarı
Etkin bağlantıları olan bir veritabanını ayıramazsınız.
İstatistikleri Güncelleştir
Varsayılan olarak, ayırma işlemi veritabanını ayırırken güncel olmayan iyileştirme istatistiklerini korur; mevcut iyileştirme istatistiklerini güncelleştirmek için bu onay kutusunu seçin.
Full-Text Katalogları Koru
Varsayılan olarak, ayırma işlemi veritabanıyla ilişkili tüm tam metin kataloglarını korur. Bunları kaldırmak için Katalogları Full-Text Koru onay kutusunu temizleyin. Bu seçenek yalnızca SQL Server 2005'ten (9.x) bir veritabanını yükseltirken görünür.
Statü
Şu durumlardan birini görüntüler: Hazır veya Hazır değil.
Message
İleti sütunu veritabanıyla ilgili bilgileri aşağıdaki gibi görüntüleyebilir:
Bir veritabanı çoğaltmaya dahil olduğunda , DurumHazır değil ve İleti sütununda Veritabanı çoğaltılmış olarak görüntülenir.
Bir veritabanında bir veya daha fazla etkin bağlantı olduğunda, DurumHazır değil olur ve İleti sütunu etkin bağlantıların number_of_active_connections>görüntülenir<; örneğin: 1 Etkin bağlantılar. Veritabanını ayırmadan önce Bağlantıları Bırak'ı seçerek etkin bağlantıların bağlantısını kesmeniz gerekir.
İleti hakkında daha fazla bilgi edinmek için, köprülenmiş metni seçerek Etkinlik İzleyicisi'ni açın.
Tamam'ı seçin.
Windows Gezgini'ni kullanarak veritabanı dosyalarını kaynak sunucudan hedef sunucuda aynı konuma taşıyın veya kopyalayın.
Windows Gezgini'ni kullanarak, sunucu sertifikasının ve özel anahtar dosyasının yedeğini kaynak sunucudan hedef sunucuda aynı konuma taşıyın veya kopyalayın.
SQL Server'ın hedef örneğinde bir veritabanı ana anahtarı oluşturun. Daha fazla bilgi için bu makalenin devamında yer alan Transact-SQL kullanma bölümüne bakın.
Özgün sunucu sertifikası yedekleme dosyasını kullanarak sunucu sertifikasını yeniden oluşturun. Daha fazla bilgi için bu makalenin devamında yer alan Transact-SQL kullanma bölümüne bakın.
SQL Server Management Studio'daki Nesne Gezgini'nde Veritabanları klasörüne sağ tıklayın ve Ekle...'yi seçin.
Veritabanı Ekle iletişim kutusundaki Eklenecek veritabanları'nın altında Ekle'yi seçin.
Veritabanı Dosyalarını Bul -server_name iletişim kutusunda, yeni sunucuya eklenecek veritabanı dosyasını seçin ve Tamam'ı seçin.
Veritabanlarını Ekle iletişim kutusunda aşağıdaki seçenekler kullanılabilir.
Eklenecek veritabanları
Seçili veritabanları hakkındaki bilgileri görüntüler.
<sütun başlığı yok>
Ekleme işleminin durumunu gösteren bir simge görüntüler. Olası simgeler Durum açıklamasında açıklanmıştır.
MDF Dosya Konumu
Seçili MDF dosyasının yolunu ve dosya adını görüntüler.
Veritabanı Adı
Veritabanının adını görüntüler.
Farklı Ekle
İsteğe bağlı olarak, veritabanı olarak eklenecek farklı bir ad belirtir.
Owner
İsteğe bağlı olarak farklı bir sahip seçebileceğiniz olası veritabanı sahiplerinin açılan listesini sağlar.
Statü
Veritabanının durumunu aşağıdaki tabloya göre görüntüler.
İkon Durum metni Description (Simge yok) (Metin yok) Ekleme işlemi başlatılmadı veya bu nesne için bekliyor olabilir. İletişim kutusu açıldığında varsayılan değer budur. Yeşil, sağa işaret eden üçgen Devam ediyor Ekleme işlemi başlatıldı ancak tamamlanmadı. Yeşil onay işareti Success Nesne başarıyla eklendi. Beyaz çarpı içeren kırmızı daire Hata Ekleme işlemi bir hatayla karşılaştı ve başarıyla tamamlanamadı. İki siyah çeyrek (solda ve sağda) ve iki beyaz çeyrek (üstte ve altta) içeren daire Durduruldu Kullanıcı işlemi durdurduğu için ekleme işlemi başarıyla tamamlanmadı. Saat yönünün tersine işaret eden eğri ok içeren daire Geri Alma Ekleme işlemi başarılı oldu, ancak başka bir nesnenin eklendiği sırada oluşan bir hata nedeniyle geri alındı. Message
Boş bir ileti veya "Dosya bulunamadı" köprüsü görüntüler.
Add
Gerekli ana veritabanı dosyalarını bulun. Kullanıcı bir .mdf dosyası seçtiğinde, kılavuz eklemek için geçerli bilgiler veritabanlarının ilgili alanlarına otomatik olarak doldurulur.
Remove
Kılavuz eklemek için seçili dosyayı Veritabanlarından kaldırır.
"<database_name>" veritabanı ayrıntıları
Eklenecek dosyaların adlarını görüntüler. Dosyanın yol adını doğrulamak veya değiştirmek için Gözat düğmesini (...) seçin.
Uyarı
Dosya yoksa İleti sütununda "Bulunamadı" ifadesi görüntülenir. Günlük dosyası bulunamazsa, başka bir dizinde bulunur veya silinmiştir. Veritabanı ayrıntıları kılavuzundaki dosya yolunu doğru konuma işaret etmek için güncelleştirmeniz veya günlük dosyasını kılavuzdan kaldırmanız gerekir. Bir .ndf veri dosyası bulunamazsa, kılavuzdaki yolunu doğru konuma işaret eden şekilde güncelleştirmeniz gerekir.
Özgün Dosya Adı
Veritabanına ait ekli dosyanın adını görüntüler.
Dosya Türü
Dosya, Veri veya Günlük türünü gösterir.
Geçerli Dosya Yolu
Seçili veritabanı dosyasının yolunu görüntüler. Yol el ile düzenlenebilir.
Message
Boş bir ileti veya "Dosya bulunamadı" köprüsü görüntüler.
Transact-SQL kullanma
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart araç çubuğunda, Yeni Sorgu'yu seçin.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.
-- Detach the TDE protected database from the source server. USE master; GO EXECUTE master.dbo.sp_detach_db @dbname = N'CustRecords'; GO -- Move or copy the database files from the source server to the same location on the destination server. -- Move or copy the backup of the server certificate and the private key file from the source server to the same location on the destination server. -- Create a database master key on the destination instance of SQL Server. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO -- Recreate the server certificate by using the original server certificate backup file. -- The password must be the same as the password that was used when the backup was created. CREATE CERTIFICATE TestSQLServerCert FROM FILE = 'TestSQLServerCert' WITH PRIVATE KEY (FILE = 'SQLPrivateKeyFile', DECRYPTION BY PASSWORD = '<password>'); GO -- Attach the database that is being moved. -- The path of the database files must be the location where you have stored the database files. CREATE DATABASE [CustRecords] ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\CustRecords.mdf'), (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\CustRecords_log.LDF') FOR ATTACH; GO
Daha fazla bilgi için bakınız: