it-swarm.asia

Mengapa saya harus menggunakan Visual Studio 2010 melalui SSMS untuk pengembangan database saya?

Visual Studio 2010 memperkenalkan proyek basis data dan berbagai fitur terkait yang seharusnya memfasilitasi pengembangan basis data. Saya telah menggunakan SQL Server Management Studio (SSMS) selama bertahun-tahun untuk melakukan pengembangan database saya tanpa masalah.

  • Mengapa saya harus repot dengan VS2010 ketika SSMS bekerja untuk saya? Apa, khususnya, yang lebih baik dari SSMS?
  • Tapi mungkin premis saya salah dan SSMS masih mengalahkan VS untuk pengembangan basis data. Jika demikian, dengan cara spesifik apa itu benar?
42
Nick Chammas

Sebenarnya saya agak underwhelmed dengan VS2010, jujur ​​saja. Saya pikir sekolah tua membuat skrip tabel dan file untuk prosedur tersimpan lebih mudah untuk dikerjakan. Jika Anda memerlukan manajemen skema maka Anda bisa mendapatkan Redgate SQL Compare Pro untuk beberapa ratus dolar.

Jika Anda benar-benar membutuhkan alat pemodelan basis data maka Powerdesigner atau bahkan Erwin melakukan pekerjaan yang jauh lebih baik, meskipun mereka tidak terlalu murah.

Meskipun saya lebih suka SSMS saya sudah menggunakan keduanya. Beberapa pro dan kontra:

  • SSMS memiliki antarmuka pengguna yang 'berfungsi' dengan baik untuk pengembangan SQL. Hanya dengan membangun dan menggunakan skrip kreasi, jauh lebih nyaman daripada lingkaran VS2010 yang memaksa Anda untuk melewatinya. Jauh lebih fleksibel (+ SSMS).

  • VS2010 memiliki manajemen skema dasar (yaitu pembuatan skrip perbedaan/tambalan) (+ VS2010). Namun tidak semuanya baik dan memiliki beberapa kekurangan. Misalnya cocok dengan batasan nama. Jika Anda memiliki centang atau batasan default pada kolom tanpa menamai mereka, SQL Server menghasilkan nama acak di belakang layar. Ini akan membingungkan VS2010 jika Anda menginstal skrip pada mesin yang berbeda karena kendala mungkin memiliki nama yang berbeda. Redgate lebih murah dan lebih baik. (+ VS2010, tetapi cacat).

  • VS2010 benar-benar canggung - Anda harus memiliki satu file untuk setiap tabel atau objek DB lainnya. Pada dasarnya Anda harus melakukan hal-hal dengan cara VS2010, yang cukup rumit. (- VS2010)

  • VS2010 Juga agak rapuh dan integrasi kontrol sumber tidak merata. Bahkan pada database sederhana setiap tabel, batasan, prosedur tersimpan, indeks dan objek database lainnya adalah file sendiri. File dapat ditambahkan ke proyek sepanjang waktu, jauh lebih cepat daripada proyek pemrograman biasa dengan (katakanlah) C #. Dengan konkurensi optimis, ia cenderung untuk secara diam-diam melepaskan file dari proyek saat check-in tidak sinkron. Bahkan dengan disiplin tim yang baik, umpan balik dari UI tentang status sangat buruk. Ini akan menjadi bencana pada model yang kompleks. (-VS2010 - Saya hampir menganggap itu cacat untuk proyek besar).

  • SSMS hadir dengan SQL Server - tidak dapat mengalahkan harganya (+ SSMS).

  • VS2010 masih tidak memiliki repositori yang tepat seperti (katakanlah) PowerDesigner atau Oracle Designer. Anda tidak dapat dengan mudah meminta model data tanpa menginstalnya ke dalam basis data. (- VS2010).

Secara keseluruhan, saya akan menilai VS2010 tentang B-. Itu canggung pada proyek database yang relatif sederhana dengan dua tabel fakta dan sekitar 15 dimensi.

Model data terbesar yang pernah saya lakukan adalah untuk sistem manajemen kasus pengadilan, yang memiliki sekitar 560 tabel. Saya tidak akan merekomendasikan VS2010 untuk proyek sebesar itu (saya melakukan itu pada Oracle Designer). Pada dasarnya itu berusaha menjadi pintar dan paradigma tidak benar-benar bekerja dengan baik. Anda lebih baik dengan alat pemodelan terbaik seperti PowerDesigner atau hanya menggunakan membuat skrip tabel dengan tangan.

SSMS sederhana dan dapat diandalkan tetapi manual. Anda memiliki cukup banyak kontrol tanpa batas atas bagaimana Anda ingin mengelola model. Gabungkan dengan skema manajer seperti Redgate SQL Compare dan mungkin alat pemodelan yang layak seperti PowerDesigner dan Anda memiliki paket yang jauh lebih baik daripada VS2010.

Ringkasan Saya tidak yakin saya bisa mengutip fitur atau manfaat pembunuh selain dari integrasi (mungkin) dengan solusi VS yang mengandung proyek lain. Jika Anda sudah memiliki VS2010 premium atau ultimate maka Anda mendapatkan alat pengembangan database yang agak cacat dilemparkan dengan rantai alat .Net Anda. Ini akan mengintegrasikan proyek-proyek DB ke dalam solusi VS Anda, sehingga Anda dapat menggunakannya untuk membuat skrip penyebaran spro setidaknya.

Namun, VS tidak memiliki alat pemodelan untuk dibicarakan, sehingga PowerDesigner atau bahkan Erwin lebih baik dalam hal itu. Manajemen skema Redgate jauh lebih baik dan SQL Compare Pro cukup murah (sekitar £ 400 IIRC). SSMS IMHO bekerja jauh lebih baik untuk pengembangan T-SQL tetapi Anda tentu bisa melakukannya dengan VS2010.

VS2010 premium tidak jauh lebih murah daripada alat pemodelan database terbaik dan VS2010 ultimate setidaknya sama mahalnya. Dengan mengorbankan integrasi yang erat dengan proyek VS Anda, Anda mungkin bisa melakukan lebih baik dengan alat pihak ketiga.

Alternatif

Saya kira kita tidak boleh terlalu banyak memboros VS2010 tanpa menyarankan setidaknya satu alternatif dan menguraikan pro dan kontra. Untuk keperluan ini saya akan menganggap proyek besar. Meskipun saya terutama melakukan pekerjaan A/P hari ini saya telah terlibat dalam proyek 100+ staf tahun di mana saya melakukan model data (dan beberapa pekerjaan pengembangan) dan beberapa lainnya dalam kisaran 10 staf-tahun, di mana saya terutama bekerja sebagai analis atau pengembang. Sebagian besar saya bekerja pada sistem data warehouse hari ini tetapi proyek yang lebih besar terutama adalah aplikasi. Berdasarkan pengalaman saya dengan berbagai alat, berikut adalah beberapa saran untuk rantai alat alternatif:

  • VS2010 profesional atau lebih tinggi. Anda mungkin atau mungkin tidak ingin menggunakan fitur manajemen proyek premium atau ultimate.
  • Subversion, AnkhSVN, dan TortoiseSVN - Lebih baik daripada TFS setiap hari dan bermain bagus dengan VS. Ini juga cukup setuju untuk bertani dari repositori lokal untuk alur kerja pengembangan bersamaan.
  • SSMS untuk pengembangan T-SQL - Manajemen proyek dan SC integrasi tidak begitu baik tetapi berfungsi dengan baik untuk pekerjaan pengembangan DB.
  • VS2010 proyek DB untuk melacak file sproc - sedikit canggung jika Anda menggunakan SSMS tetapi berfungsi OK. Ini juga akan menghasilkan skrip penerapan.
  • PowerDesigner - Lebih baik dalam memodelkan basis data dan mengelola item skema DB. Itu juga tidak UML jika Anda ingin masuk ke MDA. Jika Anda ingin mengarahkan desain DB Anda dari model objek, Anda mungkin mempertimbangkan Sparx EA sebagai gantinya. Itu melakukan pekerjaan terbaik Meta CASE (model meta extensible) dari alat CASE yang pernah saya lihat, meskipun pemodelan basis datanya meninggalkan sesuatu yang diinginkan.
  • SQL Bandingkan pro - Gunakan ini untuk menghasilkan skrip tambalan DB atau untuk menguji skrip tambalan manual (lihat 1 di bawah).
  • Framemaker - Fitur groupware yang jauh lebih stabil dan lebih baik daripada Word jika Anda memiliki banyak analis yang mengerjakan spec. Ini juga mendukung inklusi bersyarat, sehingga Anda dapat memiliki rilis versi dari spec dengan perubahan WIP yang disembunyikan. MIF dan MML memudahkan mengintegrasikan dokumen API dan kamus data ke dalam dokumen spesifikasi. Ini cukup berguna untuk melakukan ini karena Anda dapat referensi silang mereka dalam spesifikasi. Jangkar label tekstual membuat referensi silang stabil di seluruh impor ulang. Anda juga dapat menggunakan TCS untuk sumber tunggal dokumen ke output PDF, HTML dan CHM.
  • Pelacak masalah sumber terbuka - Banyak sumber terbuka yang bagus (mis. TRAC, Bugzilla untuk menyebutkan pasangan yang saya gunakan). Sumber terbuka lebih mudah untuk memodifikasi atau mengintegrasikan ke dalam alur kerja kustom dan Anda tidak bisa mengalahkan harganya.
  • NUnit atau alat pengujian lainnya - alat pengujian otomatis apa pun yang paling sesuai dengan kebutuhan Anda.
  • Apa pun kecuali proyek MS - Dianggap berbahaya. Proyek MS sangat melihat ke dalam dan memaksa rencana proyek ke dalam model yang tidak secara efektif mewakili ketidakpastian, risiko atau ketergantungan pada pemangku kepentingan atau pihak ketiga lainnya (lihat 2 di bawah).

Kelebihan: Pemodelan basis data dan manajemen skema yang lebih baik daripada VS2010, sistem kontrol versi yang lebih baik, lebih mudah untuk menyesuaikan aliran pekerjaan dan proyek, manajemen spesifikasi dan dokumentasi yang lebih baik.

Kontra: Lebih banyak upaya untuk mengintegrasikan alat, membatasi integrasi DB ke dalam proses pembuatan.

Asumsi: Mengasumsikan bahwa kontrol terhadap proses perubahan/rilis lebih penting daripada manajemen rilis yang terintegrasi secara ketat untuk skema DB. Juga mengasumsikan bahwa manajemen skema DB otomatis tidak dapat diandalkan 100%.

Tidak terlalu berteknologi tinggi atau terintegrasi dengan apik, tetapi untuk proyek yang kompleks Anda mungkin lebih tertarik pada kontrol daripada fitur otomatis yang imut. Saya berpendapat bahwa Anda lebih baik dengan seperangkat alat berkembang biak terbaik dan apa pun pembuatan bir buatan rumah dan pengujian skrip diperlukan untuk mengintegrasikannya. Coba saja buat build (a) relatif sederhana untuk dipahami dan (b) sepenuhnya otomatis.

  1. QA pada tambalan DB. Pada skema besar Anda mungkin ingin memiliki proses patching manual untuk sistem live, terutama jika patch melibatkan migrasi data. Misalnya, mungkin diinginkan untuk memiliki skrip roll-forward dan roll-back untuk mendukung mencadangkan perubahan jika perlu. Dalam hal ini Anda ingin memiliki fasilitas untuk menguji apakah tambalan benar-benar berfungsi dengan baik. Jika Anda mengelola skema basis data dalam repositori, Anda dapat menguji skrip dengan mengatur sebelum database dan membuat basis data referensi dari repositori. Menjalankan skrip tambalan pada basis data sebelum harus menyinkronkannya dengan model repositiry. Alat perbandingan skema dapat digunakan untuk menguji ini.

  2. Saya telah melakukan lebih banyak data warehouse dan pekerjaan integrasi daripada pengembangan aplikasi dipesan lebih dahulu akhir-akhir ini, jadi saya menemukan ini lebih sering daripada tim pengembangan dalam banyak kasus. Namun, alat dan metodologi manajemen proyek melakukan pekerjaan yang sangat buruk dalam mengelola pemangku kepentingan eksternal. Dalam proyek integrasi seperti gudang data, saya benar-benar ingin melihat alat manajemen proyek yang benar-benar mendorong dependensi eksternal (mis. Yang tidak saya kendalikan) di hadapan manajemen program. Pada proyek integrasi non-sepele, ketergantungan eksternal sejauh ini merupakan pendorong terbesar dari waktu yang terbuang.

Saya telah bermain-main dengan bagaimana menyusun jawaban untuk pertanyaan ini sejak awalnya diposting. Ini sulit karena kasus untuk VS2010 bukan tentang menggambarkan fitur dan manfaat alat. Ini adalah tentang meyakinkan pembaca untuk membuat perubahan mendasar dalam pendekatan mereka terhadap pengembangan basis data. Tidak mudah.

Ada jawaban untuk pertanyaan ini dari para profesional basis data yang berpengalaman, dengan campuran latar belakang yang mencakup DBA, pengembang/dba dan keduanya OLTP dan penyimpanan data). Tidak layak bagi saya untuk mendekati ini untuk setiap aspek basis data pengembangan dalam satu kesempatan, jadi saya akan mencoba dan membuat kasus untuk skenario tertentu.

Jika proyek Anda sesuai dengan kriteria ini, saya pikir ada kasus yang menarik untuk VS2010:

  • Tim Anda menggunakan VS2010 untuk pengembangan aplikasi.
  • Tim Anda menggunakan TFS untuk kontrol sumber dan membangun manajemen.
  • Database Anda adalah SQL Server.
  • Tim Anda sudah memiliki, atau tertarik pada, pengujian otomatis VS.

Jika Anda mengevaluasi VS2010 untuk pengembangan basis data, Alkitab Anda akan menjadi Panduan Database Visual Studio dari Visual Studio ALM Rangers . Setiap kutipan yang mengikuti yang tidak memiliki referensi akan berasal dari dokumen ini.

Ayo kita pergi ...

Mengapa proses pengembangan database berbeda dari pengembangan aplikasi?

Data. Jika bukan karena data sial itu, pengembangan basis data akan menjadi sangat mudah. Kami hanya bisa MENGHENTIKAN segalanya pada setiap rilis dan melupakan manajemen perubahan yang merepotkan ini.

Keberadaan data mempersulit proses perubahan basis data karena data sering dimigrasikan, diubah, atau dimuat ulang ketika perubahan diperkenalkan oleh upaya pengembangan aplikasi yang memengaruhi bentuk tabel basis data atau skema data lainnya. Selama proses perubahan ini, data kualitas produksi dan keadaan operasional harus dilindungi terhadap perubahan yang dapat membahayakan integritas, nilai, dan kegunaannya bagi organisasi.

Apa yang salah dengan SSMS?

Ini disebut SQL Server Management Studio karena suatu alasan. Sebagai alat mandiri, tidak praktis untuk mengelola upaya pengembangan Anda jika Anda akan mengikuti praktik terbaik yang diterima.

Dengan skrip saja, untuk menerapkan praktik kontrol sumber mapan yang berarti ke pengembangan Anda, Anda harus mempertahankan kedua definisi objek (mis. Skrip CREATE TABLE) DAN mengubah skrip (mis. ALTER TABLE) DAN bekerja keras untuk memastikan mereka tetap disinkronkan.

Rangkaian versi untuk perubahan pada tabel mendapatkan daft cukup cepat. Contoh yang sangat sederhana:

-- Version 1
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20))

-- Version 2
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(50))

-- Version 3
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(100))

Pada versi 3, skrip perubahan database berisi:

ALTER TABLE dbo.Widget ADD Description VARCHAR(50)
ALTER TABLE dbo.Widget ALTER COLUMN Description VARCHAR(100)

Jika versi langsung dari database ini adalah versi 1 dan rilis kami berikutnya adalah versi 3, skrip di bawah ini akan menjadi semua yang diperlukan tetapi sebaliknya kedua pernyataan ALTER akan dieksekusi.

ALTER TABLE dbo.Widget ADD Description VARCHAR(100)

Sprint 5 tahun 4 minggu menambahkan hingga beberapa skrip versi menghibur dan membutuhkan penanganan manusia tambahan untuk meminimalkan dampak pada waktu penempatan.

Jadi apakah ada yang salah dengan SSMS? Tidak, ini bagus untuk apa, mengelola dan mengelola SQL Server. Apa yang bahkan tidak pura-pura lakukan adalah membantu pengembang database dengan (kadang-kadang) tugas yang sangat kompleks untuk mengelola perubahan.


Jika Anda tidak dapat membangun setiap versi database dari sumber dan memutakhirkan ke versi masa depan, kontrol sumber Anda rusak. Jika menurut Anda tidak demikian, tanyakan Eric Sink .


Bagaimana dengan SSMS + <- masukkan alat perbandingan skema ->?

Ini jelas merupakan langkah ke arah yang benar dan menghilangkan banyak upaya manual yang diperlukan untuk memelihara skrip. Tapi (dan itu besar tapi), biasanya ada langkah-langkah manual yang terlibat.

Alat perbandingan skema populer dapat sepenuhnya otomatis dan terintegrasi ke dalam proses pembangunan. Namun, dalam pengalaman saya, praktik yang lebih umum adalah perbandingan dijalankan secara manual, skrip yang dihasilkan mengamati, mengecek ke kontrol sumber, kemudian dieksekusi secara manual untuk digunakan. Tidak baik.

Setiap kali kita manusia yang dapat berbuat salah harus terlibat dalam proses membangun atau penyebaran, kita memperkenalkan risiko dan kita membuat proses itu tidak dapat diulang.

Jika Anda dan tim Anda adalah di antara sedikit yang memiliki perbandingan dan penerapan skema yang sepenuhnya otomatis, silakan berangkat! Kalian adalah yang paling mungkin terbuka untuk manfaat yang VS2010 tawarkan sebagai:

  • Anda telah menerima bahwa langkah-langkah manual berbahaya.
  • Anda melihat nilai otomatisasi.
  • Anda bersedia menginvestasikan waktu yang diperlukan untuk membuatnya bekerja.

Jika Anda tidak dapat membuat bangunan dalam satu langkah, atau menggunakan dalam satu langkah, proses pengembangan dan penerapan Anda rusak. Jika Anda tidak berpikir begitu, tanyakan pada Joel Spolsky .


Mengapa VS2010?

Pertanyaan @NickChammas diajukan adalah mencari fitur pembunuh yang menunjukkan mengapa VS2010 adalah pengubah permainan untuk pengembangan basis data. Saya tidak berpikir saya bisa membuat kasus berdasarkan itu.

Mungkin lucu, di mana orang lain melihat kekurangan dalam alat ini saya melihat alasan kuat untuk diadopsi:

  • Anda harus mengubah pendekatan Anda.
  • Anda dan tim Anda akan dipaksa untuk bekerja dengan cara yang berbeda.
  • Anda harus mengevaluasi dampak dari setiap perubahan, panjangnya, secara terperinci.
  • Anda akan dipandu untuk melakukan setiap perubahan idempotent .

Jika Anda adalah satu-satunya DBA pada suatu proyek, mengelola semua perubahan pada database, alasan ini harus terdengar konyol berbatasan dengan tidak masuk akal. Namun, jika Anda berpikir @BrentOzar ada benarnya dan salah satu aturan baru adalah Semua orang adalah DBA , Anda harus mengontrol perubahan basis data dengan cara yang dapat digunakan oleh setiap pengembang di tim.

Adopsi Proyek Basis Data mungkin memerlukan perubahan mental ( kebiasaan lama sulit untuk dihilangkan ) untuk beberapa pengembang atau setidaknya perubahan dalam proses atau alur kerja. Pengembang yang telah mengembangkan aplikasi basis data di mana basis data produksi mewakili versi saat ini dari basis data akan perlu mengadopsi pendekatan berbasis kode sumber di mana kode sumber menjadi wahana perubahan dilakukan pada basis data . Dalam Visual Studio Database Projects, proyek dan kode sumbernya adalah "One Version of the Truth" untuk skema database dan dikelola menggunakan alur kerja SCM yang kemungkinan sudah digunakan oleh pengembang atau organisasi untuk bagian lain dari tumpukan aplikasi mereka. Untuk data, basis data produksi tetap "One Version of the Truth" sebagaimana mestinya.

Kami tiba pada perubahan mendasar yang diperlukan untuk berhasil mengadopsi pendekatan VS2010 untuk pengembangan basis data ...

Perlakukan basis data Anda sebagai kode

Tidak ada lagi mengubah database hidup. Setiap perubahan basis data akan mengikuti pola yang sama dengan perubahan aplikasi. Ubah sumber, bangun, gunakan. Ini bukan perubahan arah sementara dari Microsoft, ini adalah masa depan untuk SQL Server . Database sebagai kode akan tetap ada.

Pengembang basis data mendefinisikan bentuk objek untuk versi aplikasi, bukan cara memutasikan objek yang ada di mesin basis data ke bentuk yang diinginkan. Anda mungkin bertanya pada diri sendiri: Bagaimana ini bisa diterapkan terhadap database yang sudah berisi tabel pelanggan? Di sinilah mesin penempatan untuk bermain. Seperti disebutkan sebelumnya, mesin penempatan akan mengambil versi kompilasi dari skema Anda dan membandingkannya dengan target penyebaran basis data. Mesin pembeda akan menghasilkan skrip yang diperlukan untuk memperbarui skema target agar sesuai dengan versi yang Anda gunakan dari proyek.

Ya ada alat lain yang mengikuti pola yang sama dan untuk proyek di luar kendala yang saya berikan pada jawaban saya, mereka layak mendapat pertimbangan yang sama. Tapi, jika Anda bekerja dengan Visual Studio dan Team Foundation Server ALM, saya tidak berpikir mereka bisa bersaing.

Apa yang salah dengan proyek basis data VS2010?

Sunting: Jadi, apa gunanya?

@AndrewBickerton disebutkan dalam komentar bahwa saya belum menjawab pertanyaan asli jadi saya akan mencoba dan meringkas "Mengapa saya harus menggunakan Visual Studio 2010 melalui SSMS untuk pengembangan database saya?" sini.

  • SSMS bukan alat pengembangan database. Ya, Anda dapat mengembangkan TSQL dengan SSMS tetapi tidak menyediakan fitur kaya IDE VS2010.
  • VS2010 menyediakan kerangka kerja untuk memperlakukan basis data Anda sebagai kode.
  • VS2010 membawa analisis kode statis ke kode basis data Anda.
  • VS2010 memberi Anda alat untuk mengotomatisasi sepenuhnya siklus uji build-deploy-test.
  • SQL2012 dan Visual Studio vNext memperluas kemampuan proyek-proyek database. Berkenalanlah dengan VS2010 sekarang dan Anda akan mulai menggunakan alat pengembangan basis data generasi berikutnya.
19

VS mungkin tampak bagus jika Anda tidak tahu SSMS atau telah menggunakan alat pihak ke-3. Kesenjangan dalam VS menonjol jika Anda menggunakan alat Gerbang Merah untuk perbandingan skema dll. Dan plug-in SSMS gratis juga.

Bit kontrol sumber menyesatkan: apa yang ada di database produksi adalah salinan referensi Anda. Bukan apa yang digunakan pengembang. Lihat

7
gbn

Saya menggunakan Visual Studio secara ekstensif (well, BIDS) untuk desain laporan SSR, dan paket SSIS. Saya tidak bisa melakukannya dengan sangat baik, jika tidak, di Studio Manajemen. Visual Studio adalah lingkungan pengembangan yang jauh lebih lengkap dan terintegrasi, dan itu menghubungkan ke sistem Kontrol Sumber jauh lebih baik. Dan itu semua tercermin dalam harga!

6
Peter Schofield

Sejujurnya, suara saya langsung ke SQL Server Management Studio untuk desain database, pengembangan, dan administrasi (jelas). Hanya lebih mudah untuk mengetik:

create table newTable
(
    someId int identity(1, 1) not null primary key clustered,
    ...... you get the idea
)

Kemudian klik di semua tempat yang tepat. SSMS adalah tata letak yang hebat dan sangat cocok untuk digunakan. Dan saya pada dasarnya adalah pengembang perangkat lunak .NET. Tetapi ketika datang ke desain database dan coding saya akan memilih SSMS 11 kali dari 10.

6
Thomas Stringer

Tidak ada praktik terbaik, tetapi dengan proyek database VS 2010 dan pengontrol kode sumber (VSS 2010, Subversion, dll.) Anda dapat membuat versi database Anda.

Saya merekomendasikan Anda untuk mendesain database Anda langsung ke SSMS. Setelah database Anda hampir siap, impor ke proyek database VS 2010. Setelah impor selesai, Anda harus selalu menambahkan skrip baru ke dalam proyek basis data Anda untuk melacak semua modifikasi. Anda dapat menggunakan fitur bandingkan proyek basis data untuk mendapatkan semua perubahan dari server pengembangan dan mengimpor semua skrip tersebut langsung ke proyek Anda. Anda sekarang hanya perlu "melakukan" perubahan Anda ke dalam pengontrol kode sumber Anda.

Dengan metode ini, Anda dapat memiliki database berversi. Anda dapat melihat versi setiap modifikasi dan mengembalikan perubahan Anda.

Ini bukan satu-satunya keuntungan. Dengan proyek semacam ini, Anda dapat membandingkan database apa pun dengan proyek Anda dengan skrip perubahan dan dengan perintah SQL PowerShell Prompt, Anda dapat memperbarui semua database Anda dengan skrip yang sama: skrip ini adalah skema XML dari database Anda. Ini hanya akan menjalankan perintah yang diperlukan untuk memperbarui basis data Anda. Anda juga memiliki kemungkinan untuk membuat nit test di database Anda. Artikel bagus lainnya untuk proyek basis data tersedia di sini . Dengan fitur penyebaran, Anda dapat memiliki skrip pra dan skrip. Dengan skrip tersebut Anda dapat memiliki validasi atau memasukkan data ke tabel sistem Anda.

Di Sini adalah prosedur langkah demi langkah yang baik untuk proyek basis data.

5
Nico

Saya menggunakan SSMS lebih dari yang saya lakukan VS2010 karena ada ketika saya menginstal SQL Server. Itu mungkin yang paling penting mengapa SSMS digunakan lebih dari VS2010, IMHO.

Saya juga menemukan bahwa vendor seperti Red-Gate mengeluarkan alat yang berintegrasi dengan SSMS dan belum tentu VS2010. Ini bisa positif karena memungkinkan Anda untuk meningkatkan SSMS di mana Microsoft belum. Salah satu contohnya adalah Red-Gate's SQL Source Control, yang merupakan tambahan untuk SSMS yang memungkinkan Anda untuk menghubungkan SSMS ke sistem Kontrol Sumber perusahaan Anda apakah itu Visual Team Foundation atau apa pun yang Anda miliki. VS2010 memiliki built-in ini tetapi dibandingkan dengan harga alat Reg-Gate, saya baru saja menghemat banyak uang tanpa harus membeli VS2010.

Saya pikir secara keseluruhan tergantung pada preferensi, Anda bekerja dengan apa yang Anda sukai. Jika Anda melatih orang baru dan Anda melatih mereka pada VS2010 maka itu akan menjadi preferensi mereka karena mereka tahu bagaimana cara mengatasinya.

Jika Anda mulai bermain dengan SQL Server 2012 Anda mungkin telah memperhatikan bahwa SSMS mendapatkan susunan VS2010 perlahan tapi pasti. Jadi pada akhirnya Anda mungkin tidak bisa membedakan antara keduanya.

2
user507