Bagikan melalui


catalog.cleanup_server_log

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Berlaku untuk: SQL Server

Membersihkan log operasi untuk membawa database SSISDB ke status yang memungkinkan Anda mengubah nilai properti SERVER_OPERATION_ENCRYPTION_LEVEL.

Sintaks

catalog.cleanup_server_log  

Argumen

Tidak ada.

Mengembalikan Nilai Kode

0 untuk keberhasilan dan 1 untuk kegagalan.

Tataan Hasil

Tidak ada.

Izin

Prosedur tersimpan ini memerlukan salah satu izin berikut:

  • Izin BACA dan JALANKAN pada proyek dan, jika berlaku, izin READ pada lingkungan yang dirujuk.

  • Keanggotaan dalam peran database ssis_admin .

  • Keanggotaan ke peran server sysadmin .

Kesalahan dan peringatan

Prosedur tersimpan ini menimbulkan kesalahan dalam skenario berikut:

  • Ada satu atau beberapa operasi aktif dalam database SSISDB.

  • Database SSISDB tidak dalam mode pengguna tunggal.

Keterangan

SQL Server 2012 Service Pack 2 menambahkan properti SERVER_OPERATION_ENCRYPTION_LEVEL ke tabel internal.catalog_properties . Properti ini memiliki dua nilai yang mungkin:

  • PER_EXECUTION (1) - Sertifikat dan kunci konten yang digunakan untuk melindungi parameter eksekusi sensitif dan log eksekusi dibuat untuk setiap eksekusi. Anda mungkin mengalami masalah performa (kebuntuan, pekerjaan pemeliharaan yang gagal, dll.) di lingkungan produksi karena sertifikat/kunci dihasilkan untuk setiap eksekusi. Namun, pengaturan ini memberikan tingkat keamanan yang lebih tinggi daripada nilai lainnya (2).

  • PER_PROJECT (2) - Sertifikat dan kunci konten yang digunakan untuk melindungi parameter sensitif dibuat untuk setiap proyek. PER_PROJECT (2) adalah nilai default. Pengaturan ini memberi Anda performa yang lebih baik daripada tingkat PER_EXECUTION karena kunci dan sertifikat dihasilkan sekali untuk proyek daripada untuk setiap eksekusi.

Anda harus menjalankan prosedur tersimpan catalog.cleanup_server_log sebelum dapat mengubah SERVER_OPERATION_ENCRYPTION_LEVEL dari 2 menjadi 1 atau dari 1 menjadi 2. Sebelum menjalankan prosedur tersimpan ini, lakukan hal-hal berikut:

  1. Pastikan bahwa nilai properti OPERATION_CLEANUP_ENABLED diatur ke TRUE dalam tabel catalog.catalog_properties (Database SSISDB).

  2. Atur database Integration Services (SSISDB) ke mode pengguna tunggal. Di SQL Server Management Studio, luncurkan kotak dialog Properti Database untuk SSISDB, beralihlah ke tab Opsi, dan atur properti Batasi Akses ke mode pengguna tunggal (SINGLE_USER). Setelah Anda menjalankan prosedur cleanup_server_log tersimpan, atur nilai properti kembali ke nilai asli.

  3. Jalankan prosedur tersimpan catalog.cleanup_server_log.

  4. Sekarang, ubah nilai untuk properti SERVER_OPERATION_ENCRYPTION_LEVEL dalam tabel catalog.catalog_properties (Database SSISDB).

  5. Jalankan prosedur tersimpan catalog.cleanup_server_execution_keys untuk membersihkan kunci sertifikat dari database SSISDB. Menghilangkan sertifikat dan kunci dari database SSISDB mungkin memakan waktu lama, sehingga harus dijalankan secara berkala selama waktu di luar puncak.

    Anda dapat menentukan cakupan atau tingkat (eksekusi vs. proyek) dan jumlah kunci yang akan dihapus. Ukuran batch default untuk penghapusan adalah 1000. Saat Anda mengatur tingkat ke 2, kunci dan sertifikat akan dihapus hanya jika proyek terkait telah dihapus.

Untuk informasi selengkapnya, lihat artikel Pangkalan Pengetahuan berikut ini: PERBAIKAN: Masalah performa saat Anda menggunakan SSISDB sebagai penyimpanan penyebaran Anda di SQL Server 2012

Contoh

Contoh berikut memanggil prosedur tersimpan cleanup_server_log.

USE [SSISDB]  
GO  
  
DECLARE@return_value int  
EXEC@return_value = [internal].[cleanup_server_log]  
SELECT'Return Value' = @return_value  
GO