Catatan: Saya tidak bertanya tentang kontrol versi lengkap.
Apakah ada cara secara otomatis untuk menyimpan riwayat prosedur yang tersimpan di SQL Server.
Mirip dengan bagaimana Google Documents secara otomatis menyimpan riwayat versi dokumen dan Wikipedia secara otomatis menyimpan riwayat versi artikel.
Saya tidak ingin pengguna yang memperbarui prosedur tersimpan juga harus menjaga repositori prosedur tersimpan. Ini terlalu banyak pekerjaan dan orang tidak akan melakukannya.
Semoga ini adalah sesuatu yang bisa saya nyalakan di SQL Server ...
(Dan dengan prosedur tersimpan benar-benar maksud saya fungsi, pemicu, dll. Pada dasarnya semuanya di bawah Programmability.)
Saya memposting ke /programming/14522224/how-to-keep-history-of-sql-server-stored-procedure-reitions terlebih dahulu karena saya curiga akan mendapat lebih banyak pemandangan di sana.
Jawaban:
Sementara saya setuju sepenuhnya bahwa kontrol sumber adalah cara yang tepat untuk melakukan ini, saya juga mengerti bahwa tidak semua lingkungan cukup disiplin untuk mengandalkan itu saja (jika sama sekali), dan bahwa kadang-kadang perubahan harus dilakukan secara langsung untuk menjaga aplikasi berjalan, menyelamatkan klien, apa pun yang Anda miliki.
Anda bisa menggunakan pemicu DDL untuk menyimpan semua revisi dalam sebuah tabel di basis data yang terpisah (dan tentu saja sering-sering mencadangkan basis data itu). Dengan asumsi Anda memiliki basis data utilitas:
Sekarang dalam database Anda, pertama mari kita ambil apa yang kita sebut "kontrol awal" - versi saat ini dari prosedur tersimpan:
Sekarang untuk menangkap perubahan selanjutnya, tambahkan pemicu DDL ke database:
Seiring waktu akan menjadi mudah untuk melihat dan membandingkan perubahan pada prosedur, melihat prosedur baru ditambahkan ke sistem, melihat prosedur dibatalkan, dan memiliki ide yang baik tentang siapa yang harus diajak bicara tentang peristiwa-peristiwa ini.
Informasi lebih lanjut di sini:
http://www.mssqltips.com/sqlservertip/2085/sql-server-ddl-triggers-to-track-all-database-changes/
sumber
Saya tidak berpikir bahwa ada cara untuk secara otomatis menyimpan Kode Sumber SQL Anda di bawah kontrol versi. Maksud saya dengan alat SQL Server Asli. Saya pikir Anda bisa menggunakan git atau svn, tetapi solusi terbaik bagi saya adalah dengan membeli Red Gate's Source Control untuk menjaga database (dan prosedur tersimpan) di bawah kontrol versi.
sumber