Melacak siapa yang membuat perubahan yang diidentifikasi oleh CDC.
Sejalan dengan hack datetime saya, saya mencoba pendekatan yang sama dengan menambahkan suser_sname sebagai bidang baru dengan nilai default pada tabel track perubahan cdc. Tapi, itu sepertinya mengembalikan pemilik proses cdc dan bukan pengguna yang memprakarsai perubahan di tabel dasar. Saya juga mencoba original_login tetapi itu mengembalikan login akun layanan sql. Sekali lagi, kemungkinan terkait dengan proses cdc dan bukan pengguna yang memulai perubahan.
Saya menemukan pertanyaan serupa pada stack-overflow tetapi tanpa jawaban selain melacak perubahan dari ujung depan atau melalui pemicu, yang tampaknya mengalahkan tujuan menggunakan cdc. Saya tidak akan memposting ulang tetapi karena aslinya ada di stackoverflow saya pikir saya akan mencobanya di sini terutama jika R2 atau 2012 telah memperkenalkan cara yang lebih baik.
Jadi, singkatnya: Bagaimana saya tahu siapa yang membuat perubahan dalam menangkap data?
sumber
Anda bisa menambahkan kolom dan memiliki pemicu di atas meja untuk mengisi pengguna saat memasukkan / memperbarui / menghapus dan cdc kemudian akan menyimpan ini. Anda dapat mengambil nama pengguna baik dari UI dengan melewati nama pengguna menggunakan info konteks atau dari sesi aktual
sumber
Bisakah Anda menambahkan bidang UpdatedBy pada tabel utama, mengaturnya ke default ke SUSER_NAME () atau ORIGINAL_LOGIN () dan memiliki data yang diisi oleh CDC? Saya percaya itu akan memberi Anda informasi yang sama yang Anda cari.
sumber