Bagaimana saya bisa menjaga proyek database visualstudio saya sinkron dengan database saya?

11

Saya ingin skema database saya disinkronkan dengan proyek database Visual Studio .dbproj saya.

Saat ini, saya menggunakan SSMS untuk sebagian besar pekerjaan pengembangan database saya, dan saya harus secara manual menggunakan alat membandingkan skema dari studio visual ketika saya membutuhkan skema db dan .dbproj untuk disinkronkan. Mengapa saya menginginkan ini? karena:

  • Ini satu-satunya cara untuk melakukan checkin perubahan
  • Ini satu-satunya cara untuk menerapkan perubahan
  • Kegagalan untuk melakukannya akan menyebabkan beberapa masalah penggabungan saat mendapatkan file (pada dasarnya, jika "dapatkan terbaru" berisi beberapa perubahan db pada objek db saya telah memperbarui tanpa memeriksanya, gabungan tidak akan dipicu, dan mudah untuk melacak versi mana yang mana)
  • Sangat menyenangkan untuk dapat menggunakan fitur pencarian VisualStudio pada versi skema terbaru
  • Sangat menyenangkan untuk dapat mengubah prosedur tersimpan dari VS (biasanya ketika Anda telah mengganti nama file) menggunakan hasil pencarian.

Selain mengotomatiskan alat "bandingkan skema" untuk menjalankannya setiap 5 menit (yang hampir tidak terdengar seperti solusi "bersih"), apakah ada cara untuk mencapai ini?

Saya ingin tetap menggunakan SSMS jika memungkinkan, tetapi saya juga tertarik dengan cara untuk secara otomatis menyebarkan perubahan yang dibuat menggunakan "Server Explorer / koneksi Database" dari studio visual ke .dbproj.

Brann
sumber
Apakah Anda menemukan cara menyinkronkan proyek database Anda dengan SSMS?

Jawaban:

4

SQL Server Management Studio terutama merupakan alat MANAJEMEN SQL Server dan, dengan demikian, tidak perlu dibangun untuk mendukung skenario yang Anda cari.

Visual Studio Team System 2008 Edisi Database dan Visual Studio Team System 2010 Pro / Ultimate menyertakan alat Pengembang Database (VSDB) untuk membantu mereka yang memiliki aset basis data yang luas mengintegrasikan skema basis data mereka / view / proc / etc. pengembangan dengan pengembangan aplikasi mereka.

VSDB memungkinkan Anda untuk merekayasa ulang skema DB yang ada ke proyek Visual Studio sehingga Anda dapat sumber-kontrol file skrip elemen per-skema. Anda juga dapat memodifikasi / membuat skrip skema SQL Server untuk pembuatan hampir semua elemen skema yang didukung oleh SQL 2005/2008/2010.

VSDB juga mendukung kemampuan untuk menyebarkan pembaruan skema DB penuh / parsial ke kosong / DB yang ada di mana ia melakukan sejumlah besar pekerjaan untuk mencoba hanya menerapkan perubahan yang diperlukan untuk memodifikasi DB yang ada (jika ada) sehingga mencerminkan struktur dari proyek sumber data VSDB.

VSDB juga mencakup sejumlah alat untuk membantu Anda membandingkan skema antara proyek-proyek DB dan / atau DB dan juga memungkinkan Anda untuk membedakan dan menggabungkan konten tabel.

Namun, perhatikan bahwa meskipun perangkat ini didukung hari ini, tim sejak itu telah dibubarkan dan produk berada dalam mode pemeliharaan. Grup produk SQL Server sekarang memiliki tanggung jawab untuk membuat alat untuk pengembang dan bekerja keras melakukan hal itu :)

Richard Turner
sumber
1
Saya sudah menjadi pengguna fitur VS 2010 db. Tetapi saya belum menemukan cara menggunakannya untuk secara langsung memodifikasi proyek basis data saya dan proyek basis data saya secara bersamaan. Menjalankan perbandingan skema setelah setiap modifikasi terlalu merepotkan ... :(
Brann
Setelah mulai melihat VSDB kemarin, saya menemukan paragraf terakhir Anda agak mengkhawatirkan. Kedengarannya saya tidak perlu repot menghabiskan banyak waktu atau energi ...?
Benjol
1

ada dua cara yang saya ketahui dengan fitur utama VS2010 untuk melakukan ini.

  1. Gunakan SSMS atau alat lain untuk mengedit skema DB kemudian menjalankan skema membandingkan secara berkala (akhir hari) dan kemudian mengimpor perubahan skema apa pun ke proyek DB.
  2. Edit file dalam proyek DB Anda melalui VS dan kemudian buat paket penyebaran yang berjalan langsung pada DB Anda atau menghasilkan skrip untuk Anda jalankan untuk memperbarui skema Anda di DB.
Ryathal
sumber
Solusi kedua adalah, menurut saya, solusi terbaik. Anda dapat mengatur proses penyebaran yang hanya membutuhkan satu klik. Mengedit file Anda di Visual Studio akan secara otomatis memeriksanya di luar kendali sumber. Saya telah bekerja dengan metode pertama, tetapi sulit untuk selalu melakukan perbandingan skema. Plus, setidaknya bagi saya, alat perbandingan skema banyak crash Visual Studio.
Kris Harper