เหตุใดฉันจึงควรใช้ Visual Studio 2010 บน SSMS สำหรับการพัฒนาฐานข้อมูลของฉัน


42

Visual Studio 2010 ขอแนะนำโครงการฐานข้อมูลและฟีเจอร์ที่เกี่ยวข้องทั้งหมดซึ่งช่วยในการพัฒนาฐานข้อมูล ฉันใช้ SQL Server Management Studio (SSMS) หลายปีในการพัฒนาฐานข้อมูลโดยไม่มีปัญหา

  • ทำไมฉันต้องรำคาญกับ VS2010 เมื่อ SSMS เหมาะกับฉัน มันทำอะไรได้ดีกว่า SSMS โดยเฉพาะ?
  • แต่บางทีหลักฐานของฉันไม่ถูกต้องและ SSMS ยังคงสำคัญกว่า VS สำหรับการพัฒนาฐานข้อมูล ถ้าเป็นเช่นนั้นจริงอยู่ในทางใด?

2
จากคำตอบที่สะสมมาจนถึงตอนนี้ฉันสงสัยว่าผู้ตอบแบบสอบถามไม่ได้ใช้เครื่องมือฐานข้อมูล VS2010 ใด ๆในลักษณะที่ตั้งใจไว้
Mark Storey-Smith

2
@ MarkStorey-Smith - ใช่แล้วฉันจะเขย่าทุกคนในสัปดาห์หน้าด้วยคำตอบของฉัน จากสิ่งที่ผมได้เรียนรู้และนำมาใช้เพื่อให้ห่างไกล VS 2010 เป็นเครื่องมือสำหรับการพัฒนาฐานข้อมูล
Nick Chammas

ที่จริงแล้วคุณมีโครงการฐานข้อมูลใน Visual Studio รุ่นก่อนหน้า แต่มีเฉพาะในรุ่น Premium IIRC เท่านั้น
gonsalu

1
รุ่นก่อนหน้าแตกต่างกันมาก
Mark Storey-Smith

ฉันใช้ SSMS เท่านั้น SSMS มีความสามารถอย่างเต็มที่ในการทำสิ่งที่ต้องทำ สิ่งที่เซิร์ฟเวอร์ของเราไม่จำเป็นต้องรู้ว่ามีอะไรอยู่ ...
Asken

คำตอบ:


27

จริงๆแล้วฉันรู้สึกผิดหวังเล็กน้อยกับ VS2010 ที่จะซื่อสัตย์ ฉันคิดว่าโรงเรียนเก่าสร้างสคริปต์ตารางและไฟล์สำหรับขั้นตอนการจัดเก็บง่ายต่อการทำงานด้วย หากคุณต้องการจัดการสคีมาคุณสามารถรับ Redgate SQL Compare Pro สักสองสามร้อยดอลลาร์

หากคุณต้องการเครื่องมือสร้างแบบจำลองฐานข้อมูลจริงๆแล้ว Powerdesigner หรือแม้กระทั่ง Erwin จะทำงานได้ดีขึ้นมากถึงแม้ว่ามันจะไม่ถูกเลย

แม้ว่าฉันจะชอบ SSMS ที่ฉันใช้ทั้งคู่ ข้อดีและข้อเสียบางประการ:

  • SSMS มีส่วนต่อประสานกับผู้ใช้ที่ใช้งานได้ดีสำหรับการพัฒนา SQL เพียงแค่การสร้างและการใช้สคริปต์การสร้างก็สะดวกกว่า hoops VS2010 ที่บังคับให้คุณต้องกระโดดข้าม มีความยืดหยุ่นมากขึ้น (+ SSMS)

  • VS2010 มีการจัดการสคีมาพื้นฐาน (นั่นคือความแตกต่าง / การสร้างสคริปต์แพทช์) (+ VS2010) อย่างไรก็ตามมันก็ไม่ใช่ทั้งหมดที่ดีและมีข้อบกพร่อง ตัวอย่างเช่นมันจับคู่ข้อ จำกัด กับชื่อ หากคุณมีการตรวจสอบหรือข้อ จำกัด เริ่มต้นในคอลัมน์โดยไม่มีการตั้งชื่อ SQL Server จะสร้างชื่อแบบสุ่มเบื้องหลัง สิ่งนี้จะสร้างความสับสนให้กับ VS2010 หากคุณติดตั้งสคริปต์บนเครื่องอื่นเนื่องจากข้อ จำกัด อาจมีชื่อแตกต่างกัน Redgate ราคาถูกกว่าและดีกว่า (+ VS2010 แต่มีข้อบกพร่อง)

  • VS2010 ค่อนข้างงุ่มง่าม - คุณต้องมีหนึ่งไฟล์สำหรับแต่ละตารางหรือวัตถุฐานข้อมูลอื่น ๆ โดยพื้นฐานแล้วคุณต้องทำสิ่งต่าง ๆ ในแบบ VS2010 ซึ่งค่อนข้างยุ่งยาก (- VS2010)

  • VS2010 ค่อนข้างบอบบางและการรวมแหล่งควบคุมนั้นไม่สม่ำเสมอ แม้ในฐานข้อมูลอย่างง่ายทุกตารางข้อ จำกัด ขั้นตอนการจัดเก็บดัชนีและวัตถุฐานข้อมูลอื่น ๆ เป็นไฟล์ของตัวเอง ไฟล์จะถูกเพิ่มเข้ากับโครงการตลอดเวลาเร็วกว่าโครงการเขียนโปรแกรมทั่วไปด้วย (พูด) C # ด้วยการเห็นพ้องด้วยมองโลกในแง่ดีทำให้มีแนวโน้มที่จะปล่อยไฟล์จากโครงการอย่างเงียบ ๆ เมื่อเช็คอินไม่ซิงค์ แม้จะมีระเบียบวินัยของทีมที่ดีความคิดเห็นจาก UI เกี่ยวกับสถานะนั้นแย่มาก นี่จะเป็นหายนะในรูปแบบที่ซับซ้อน (-VS2010 - ฉันเกือบคิดว่าเป็นข้อบกพร่องในการแสดงสำหรับโครงการขนาดใหญ่)

  • SSMS มาพร้อมกับ SQL Server - ไม่สามารถเอาชนะราคา (+ SSMS)

  • VS2010 ยังไม่มีที่เก็บที่เหมาะสมเช่น (พูด) PowerDesigner หรือ Oracle Designer คุณไม่สามารถสอบถามรุ่นข้อมูลได้อย่างง่ายดายโดยไม่ต้องติดตั้งลงในฐานข้อมูล (- VS2010)

โดยรวมแล้วฉันจะให้คะแนน VS2010 เกี่ยวกับ B- มันค่อนข้างงุ่มง่ามในโครงการฐานข้อมูลที่ค่อนข้างง่ายโดยมีตารางข้อเท็จจริงสองตัวและประมาณ 15 มิติ

รูปแบบข้อมูลที่ใหญ่ที่สุดที่ฉันเคยทำคือระบบการจัดการคดีในศาลซึ่งมีประมาณ 560 ตาราง ฉันจะไม่แนะนำ VS2010 สำหรับโครงการขนาดนั้น (ฉันทำกับ Oracle Designer) โดยพื้นฐานแล้วมันพยายามที่จะฉลาดและกระบวนทัศน์นั้นใช้งานไม่ได้จริง ๆ คุณดีกว่าด้วยเครื่องมือสร้างแบบจำลองที่ดีที่สุดเช่น PowerDesigner หรือเพียงแค่ใช้สร้างสคริปต์ตารางด้วยมือ

SSMS นั้นง่ายและเชื่อถือได้ แต่ทำด้วยมือ คุณมีการควบคุมที่ไม่มีที่สิ้นสุดสำหรับวิธีจัดการโมเดล รวมเข้ากับ schema manager เช่น Redgate SQL Compare และอาจเป็นเครื่องมือสร้างแบบจำลองที่ดีเช่น PowerDesigner และคุณมีแพ็คเกจที่ดีกว่า VS2010 มาก

บทสรุป ฉันไม่แน่ใจว่าฉันจะพูดถึงคุณสมบัติหรือประโยชน์ของนักฆ่าใด ๆ นอกเหนือจากการรวมเข้ากับโซลูชั่น VS ที่มีโครงการอื่น หากคุณมีพรีเมี่ยม VS2010 หรือระดับสูงสุดอยู่แล้วคุณจะได้รับเครื่องมือพัฒนาฐานข้อมูลที่มีข้อบกพร่องอยู่ในเครือข่าย. Net ของคุณ มันจะรวมโครงการ DB เข้ากับโซลูชัน VS ของคุณดังนั้นคุณสามารถใช้มันเพื่อสร้างสคริปต์การปรับใช้ sproc อย่างน้อยที่สุด

อย่างไรก็ตาม VS ไม่มีเครื่องมือสร้างแบบจำลองที่จะพูดถึงดังนั้น PowerDesigner หรือแม้แต่ Erwin ก็นับว่าดีกว่า การจัดการสคีมาของ Redgate นั้นดีกว่ามากและ SQL Compare Pro ค่อนข้างถูก (ประมาณ£ 400 IIRC) IMHO SSMS ทำงานได้ดีขึ้นมากสำหรับการพัฒนา T-SQL แต่คุณสามารถทำได้ด้วย VS2010

VS2010 พรีเมี่ยมนั้นไม่ถูกกว่าเครื่องมือสร้างแบบจำลองฐานข้อมูลที่ดีที่สุดเท่าที่ควรและ VS2010 ที่สุดก็มีราคาแพงอย่างน้อย ด้วยค่าใช้จ่ายของการผสานอย่างแน่นหนากับโครงการ VS ของคุณคุณอาจทำได้ดีกว่าด้วยเครื่องมือของบุคคลที่สาม

ทางเลือกอื่น

ฉันเดาว่าไม่ควรถลก VS2010 มากเกินไปโดยไม่แนะนำทางเลือกอย่างน้อยหนึ่งตัวและสรุปข้อดีและข้อเสียของมัน สำหรับวัตถุประสงค์นี้ฉันจะถือว่าเป็นโครงการขนาดใหญ่ แม้ว่าส่วนใหญ่ฉันจะทำงาน A / P วันนี้ฉันมีส่วนร่วมในโครงการปีพนักงาน 100+ ที่ฉันทำแบบจำลองข้อมูล (และงานพัฒนาบางอย่าง) และอื่น ๆ สองสามคนในช่วงพนักงานปีที่ฉันทำงานเป็นหลัก ในฐานะนักวิเคราะห์หรือนักพัฒนา ส่วนใหญ่ฉันทำงานกับระบบคลังข้อมูลวันนี้ แต่โครงการขนาดใหญ่ส่วนใหญ่ใช้งานเป็น จากประสบการณ์ของฉันกับเครื่องมือต่าง ๆ นี่คือคำแนะนำสำหรับโซ่เครื่องมือทางเลือก:

  • VS2010 มืออาชีพขึ้นไป คุณอาจหรืออาจไม่ต้องการใช้คุณสมบัติการจัดการโครงการของพรีเมียมหรือสุดยอด
  • การโค่นล้ม AnkhSVN และ TortoiseSVN - ดีกว่า TFS ทุกวันและเล่นได้ดีกับ VS นอกจากนี้ยังค่อนข้างคล้อยตามที่จะทำฟาร์มนอกคลังเก็บของเพื่อการพัฒนาที่พร้อมกัน
  • SSMS สำหรับการพัฒนา T-SQL - การจัดการโครงการและการรวม SC ไม่ดี แต่ทำงานได้ดีสำหรับงานพัฒนาฐานข้อมูล
  • VS2010 DB project สำหรับการติดตามไฟล์ sproc - งุ่มง่ามเล็กน้อยถ้าคุณใช้ SSMS แต่ใช้งานได้ มันจะสร้างสคริปต์การปรับใช้
  • PowerDesigner - วิธีที่ดีกว่าในการสร้างแบบจำลองฐานข้อมูลและการจัดการรายการ DB schema นอกจากนี้ยังใช้ UML หากคุณต้องการเข้าสู่ MDA อย่างมาก หากคุณต้องการขับเคลื่อนการออกแบบฐานข้อมูลของคุณจากแบบจำลองวัตถุคุณอาจพิจารณา Sparx EA แทน มันทำงานได้ดีที่สุดของ Meta CASE (ตัวขยายเมตาดาต้าแบบขยาย) ของเครื่องมือ CASE ใด ๆ ที่ฉันเคยเห็นแม้ว่าการสร้างแบบจำลองฐานข้อมูลจะทำให้บางสิ่งเป็นที่ต้องการ
  • SQL Compare pro - ใช้สิ่งนี้เพื่อสร้างสคริปต์ตัวแก้ไขฐานข้อมูลหรือเพื่อทดสอบสคริปต์ตัวแก้ไขแบบแมนนวล (ดู 1 ด้านล่าง)
  • Framemaker - ฟีเจอร์กรุ๊ปแวร์ที่มีความเสถียรและดีกว่า Word ถ้าคุณมีนักวิเคราะห์หลายคนทำงานกับสเป็ค นอกจากนี้ยังรองรับการรวมแบบมีเงื่อนไขเพื่อให้คุณสามารถปล่อยข้อมูลจำเพาะรุ่นที่มีการเปลี่ยนแปลง WIP ที่ซ่อนอยู่ MIF และ MML ช่วยให้การรวมเอกสาร API และพจนานุกรมข้อมูลเข้ากับเอกสารข้อมูลเป็นเรื่องง่าย การทำเช่นนี้ค่อนข้างมีประโยชน์เพราะคุณสามารถอ้างอิงข้ามพวกมันในข้อมูลจำเพาะได้ จุดยึดป้ายข้อความทำให้การอ้างอิงโยงมีความเสถียรในการนำเข้าอีกครั้ง คุณยังสามารถใช้ TCS เพื่อจัดทำเอกสารเดี่ยวไปยังเอาต์พุต PDF, HTML และ CHM
  • ตัวติดตามปัญหาโอเพ่นซอร์ส - ตัวติดตามโอเพ่นซอร์สที่ดีหลายรายการ (เช่น TRAC, Bugzilla เพื่อบอกชื่อที่ฉันเคยใช้) โอเพ่นซอร์สนั้นง่ายกว่าในการปรับเปลี่ยนหรือรวมเข้ากับเวิร์กโฟลว์ที่กำหนดเองและคุณไม่สามารถเอาชนะราคาได้
  • NUnit หรือเครื่องมือทดสอบอื่น ๆ - เครื่องมือทดสอบอัตโนมัติใด ๆ ที่เหมาะสมกับความต้องการของคุณมากที่สุด
  • อะไรก็ได้นอกจากโครงการ MS - ถือว่าเป็นอันตราย โครงการ MS นั้นมีลักษณะภายในมากและบังคับให้โครงการในรูปแบบที่ไม่ได้มีประสิทธิภาพแสดงถึงความไม่แน่นอนความเสี่ยงหรือการพึ่งพาผู้มีส่วนได้เสียหรือบุคคลที่สามอื่น ๆ (ดู 2 ด้านล่าง)

ข้อดี:การสร้างแบบจำลองฐานข้อมูลและการจัดการสคีมาดีกว่า VS2010 ระบบการควบคุมเวอร์ชันที่ดีขึ้นง่ายต่อการปรับแต่งกระบวนการทำงานของการสร้างและโครงการการจัดการรายละเอียดและเอกสารที่ดีขึ้น

ข้อด้อย: มีความพยายามมากขึ้นในการรวมเครื่องมือการ จำกัด การรวม DB ในกระบวนการสร้าง

สมมติฐาน:สมมติว่าการควบคุมกระบวนการเปลี่ยนแปลง / ปล่อยในสิ่งที่สำคัญกว่าการจัดการปล่อยอัตโนมัติหรือบูรณาการอย่างแน่นหนาสำหรับ schema ของ DB นอกจากนี้สมมติว่าการจัดการ schema ของ DB อัตโนมัติไม่น่าเชื่อถือ 100%

ไม่ใช่เทคโนโลยีขั้นสูงหรือการผสมผสานที่ลื่นไหล แต่สำหรับโครงการที่ซับซ้อนคุณอาจสนใจควบคุมมากกว่าฟีเจอร์อัตโนมัติที่น่ารัก ฉันขอยืนยันว่าคุณดีกว่าด้วยชุดเครื่องมือการผสมพันธุ์ที่ดีที่สุดและสิ่งที่ผู้สร้างบ้านและสร้างสคริปต์ทดสอบจำเป็นต้องรวมเข้าด้วยกัน เพียงแค่พยายามทำให้ build (a) ค่อนข้างเข้าใจง่ายและ (b) เป็นแบบอัตโนมัติทั้งหมด

  1. QA เกี่ยวกับ DB patches บนสคีมาขนาดใหญ่คุณอาจต้องการกระบวนการแก้ไขด้วยตนเองสำหรับระบบที่ใช้งานจริงโดยเฉพาะอย่างยิ่งหากแพตช์เกี่ยวข้องกับการย้ายข้อมูล ตัวอย่างเช่นอาจเป็นที่ต้องการที่จะมีสคริปต์ย้อนกลับและย้อนกลับเพื่อรองรับการสำรองข้อมูลการเปลี่ยนแปลงหากจำเป็น ในกรณีนี้คุณจะต้องมีสถานที่ทดสอบว่าแพทช์ทำงานได้จริง หากคุณจัดการสกีมาฐานข้อมูลในที่เก็บคุณสามารถทดสอบสคริปต์โดยตั้งค่าก่อนฐานข้อมูลและสร้างฐานข้อมูลอ้างอิงจากที่เก็บ การรันสคริปต์แพตช์บนฐานข้อมูลก่อนหน้าควรซิงโครไนซ์กับโมเดลที่เก็บ เครื่องมือเปรียบเทียบ schema สามารถใช้ในการทดสอบสิ่งนี้

  2. ฉันทำคลังข้อมูลและการรวมการทำงานมากกว่าการพัฒนาแอปพลิเคชันตามความต้องการเร็ว ๆ นี้ดังนั้นฉันจึงพบสิ่งนี้บ่อยกว่าทีมพัฒนาจะทำในกรณีส่วนใหญ่ อย่างไรก็ตามเครื่องมือและวิธีการจัดการโครงการจะทำงานได้ไม่ดีนักในการจัดการผู้มีส่วนได้เสียภายนอก ในโครงการบูรณาการเช่นคลังข้อมูลฉันต้องการเห็นเครื่องมือการจัดการโครงการที่ผลักดันการพึ่งพาจากภายนอก (เช่นโครงการที่ฉันไม่ได้ควบคุม) จริงๆเมื่อเผชิญกับการจัดการโปรแกรม ในโครงการบูรณาการใด ๆ ที่ไม่สำคัญการพึ่งพาภายนอกเป็นสิ่งที่สำคัญที่สุดในการขับเคลื่อนเวลาที่สูญเปล่า


ขอบคุณสำหรับการอัปเดตคำตอบของคุณพร้อมรายละเอียดทั้งหมดนี้ มันมีค่ามากขึ้นในขณะนี้
Nick Chammas

2
ไม่เห็นด้วยกับไฟล์เดียวต่อวัตถุที่ยุ่งยาก มันไม่ใช่วิธี VS2010 เป็นตัวควบคุมแหล่งที่มา 101 คุณไม่ได้กำหนดคลาส C # หลายรายการในไฟล์เดียวใช่ไหม
Mark Storey-Smith

2
สุจริตฉันไม่ทำตาม ประการแรกเครื่องมือจัดการไฟล์เหล่านั้นสำหรับคุณมันไม่ได้เพิ่มค่าใช้จ่ายในการผลิตของฉัน ประการที่สองตารางคีย์ดัชนีและข้อ จำกัด ถูกแยกออกจากกันเนื่องจากก) พวกเขาเป็นวัตถุแยกกันมีเหตุผลและร่างกายข) คุณมักจะจัดการกับพวกมันในการแยกเช่นวางและสร้างดัชนีใหม่ซึ่งเป็นส่วนหนึ่งของ refactor ที่เกี่ยวข้องกับการเคลื่อนย้ายข้อมูล
Mark Storey-Smith

1
งบกวาดเช่น 'เครื่องมือจัดการไฟล์สำหรับคุณ' ไม่เป็นประโยชน์มากเนื่องจากการสังเกตของฉันคือว่าพวกเขาไม่ได้ - อย่างน้อยก็ไม่น่าเชื่อถือ VS2010 อาจใช้งานได้สำหรับผู้ใช้รายเดียว มันทำงานได้ไม่ดีนักสำหรับทีม ประสบการณ์ของฉันคือการที่คู่ทอง MS มีปัญหาในการจัดการข้อมูลบัญชีง่าย ๆ กับสิ่งนี้ ไม่ใช่คน
ConcOfOfTunbridgeWells

2
@ConfernedOfTunbridgeWells โปรดอย่าดูความคิดเห็นของฉันว่าเป็นศัตรูหรือโต้แย้งในทางใด ๆ นั่นไม่ใช่ความตั้งใจของฉัน ฉันสนใจมากที่ได้ยินว่าทำไม VS2010 จึงไม่ได้รับการยอมรับอย่างกว้างขวางมากขึ้นเพราะฉันมักจะทำเรื่องให้ทีมสำรวจ หากคุณสามารถสละเวลาเพื่อพูดคุยในรายละเอียดเพิ่มเติมฉันจะสนใจฟังความคิดเห็นของคุณ
Mark Storey-Smith

19

ฉันเล่นกับวิธีจัดโครงสร้างคำตอบสำหรับคำถามนี้ตั้งแต่แรกโพสต์ นี่เป็นเรื่องยากเนื่องจาก VS2010 ไม่ได้อธิบายเกี่ยวกับคุณสมบัติและประโยชน์ของเครื่องมือ นี่เป็นเรื่องเกี่ยวกับการโน้มน้าวใจผู้อ่านให้เปลี่ยนพื้นฐานในแนวทางการพัฒนาฐานข้อมูล ไม่ใช่เรื่องง่าย.

มีคำตอบสำหรับคำถามนี้จากผู้เชี่ยวชาญด้านฐานข้อมูลที่มีประสบการณ์ซึ่งมีแบ็คกราวน์ที่ประกอบไปด้วย DBA, ผู้พัฒนา / dba และทั้ง OLTP และคลังข้อมูล ฉันไม่สามารถใช้วิธีนี้กับทุกแง่มุมของการพัฒนาฐานข้อมูลได้ในที่เดียวดังนั้นฉันจะลองทำกรณีสำหรับสถานการณ์เฉพาะ

หากโครงการของคุณตรงกับเกณฑ์เหล่านี้ฉันคิดว่ามีกรณีที่น่าสนใจสำหรับ VS2010:

  • ทีมของคุณใช้ VS2010 เพื่อการพัฒนาแอพพลิเคชั่น
  • ทีมของคุณใช้ TFS เพื่อควบคุมแหล่งที่มาและสร้างการจัดการ
  • ฐานข้อมูลของคุณคือ SQL Server
  • ทีมของคุณมีหรือมีความสนใจในการทดสอบอัตโนมัติ VS

หากคุณกำลังประเมิน VS2010 สำหรับการพัฒนาฐานข้อมูลของคุณพระคัมภีร์จะเป็นVisual Studio ฐานข้อมูลคู่มือจากVisual Studio ALM เรนเจอร์ คำพูดใด ๆ ที่ตามมาซึ่งไม่มีการอ้างอิงจะมาจากเอกสารนี้

เราไปกันแล้ว ...

ทำไมกระบวนการพัฒนาฐานข้อมูลแตกต่างจากการพัฒนาแอปพลิเคชัน

ข้อมูล. หากไม่ใช่สำหรับข้อมูลที่น่ารำคาญการพัฒนาฐานข้อมูลจะเป็นสิ่งที่น่าเบื่อ เราสามารถลดทุกอย่างลงในทุกรุ่นและลืมเกี่ยวกับการจัดการการเปลี่ยนแปลงที่ยุ่งยากนี้

การมีอยู่ของข้อมูลทำให้กระบวนการเปลี่ยนแปลงฐานข้อมูลยุ่งยากเนื่องจากข้อมูลมักจะถูกโยกย้ายเปลี่ยนรูปหรือโหลดใหม่เมื่อมีการเปลี่ยนแปลงเกิดขึ้นจากความพยายามในการพัฒนาแอพพลิเคชั่นที่มีผลต่อรูปร่างของตารางฐานข้อมูลหรือ schema ข้อมูลอื่น ๆ ตลอดกระบวนการเปลี่ยนแปลงนี้ข้อมูลคุณภาพการผลิตและสถานะการปฏิบัติงานจะต้องได้รับการปกป้องจากการเปลี่ยนแปลงที่อาจเป็นอันตรายต่อความถูกต้องคุณค่าและประโยชน์ที่มีต่อองค์กร

เกิดอะไรขึ้นกับ SSMS

มันเรียกว่าสตูดิโอจัดการเซิร์ฟเวอร์ SQL ด้วยเหตุผล เป็นเครื่องมือแบบสแตนด์อโลนมันเป็นไปไม่ได้ในการจัดการความพยายามในการพัฒนาของคุณหากคุณจะปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับ

ด้วยสคริปต์เพียงอย่างเดียวในการใช้การควบคุมซอร์สที่มีความหมายกับการพัฒนาของคุณคุณจะต้องรักษาทั้งนิยามของวัตถุ (เช่นสคริปต์ CREATE TABLE) และเปลี่ยนสคริปต์ (เช่น ALTER TABLE) และทำงานอย่างหนักเพื่อให้แน่ใจว่ายังคงซิงโครไนซ์

ห่วงโซ่ของรุ่นสำหรับการเปลี่ยนแปลงในตารางได้รับสวยบ้าคลั่งอย่างรวดเร็ว ตัวอย่างที่ง่ายมาก:

-- 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))

ตามเวอร์ชัน 3 สคริปต์การเปลี่ยนแปลงฐานข้อมูลประกอบด้วย:

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

หากเวอร์ชันสดของฐานข้อมูลนี้เป็นรุ่น 1 และรุ่นถัดไปของเราคือรุ่น 3 สคริปต์ด้านล่างจะเป็นสิ่งที่จำเป็นทั้งหมด แต่จะมีการดำเนินการทั้งสองคำสั่ง ALTER แทน

ALTER TABLE dbo.Widget ADD Description VARCHAR(100)

5 ปี 4 สัปดาห์การวิ่งเพิ่มขึ้นเป็นสคริปต์เวอร์ชั่นสนุกสนานและต้องการการจัดการเพิ่มเติมเพื่อลดผลกระทบต่อเวลาในการปรับใช้

ดังนั้นจะมีอะไรผิดปกติกับ SSMS หรือไม่ ไม่มันดีสำหรับสิ่งที่ดีสำหรับการบริหารและการจัดการ SQL Server สิ่งที่มันไม่ได้ทำเป็นว่าต้องทำก็คือช่วยผู้พัฒนาฐานข้อมูลที่มีภารกิจซับซ้อนมากในการจัดการการเปลี่ยนแปลง


หากคุณไม่สามารถสร้างฐานข้อมูลทุกรุ่นจากแหล่งที่มาและอัปเกรดเป็นเวอร์ชันในอนาคตการควบคุมแหล่งที่มาของคุณจะใช้งานไม่ได้ หากคุณไม่ได้คิดอย่างนั้นขอให้เอริคอ่างล้างจาน


สิ่งที่เกี่ยวกับ SSMS + <- เครื่องมือเปรียบเทียบสคีมาแทรก ->

นี่เป็นขั้นตอนในทิศทางที่ถูกต้องและต้องใช้ความพยายามอย่างมากในการบำรุงรักษาสคริปต์ แต่ (และมันก็ใหญ่ แต่) โดยทั่วไปจะมีขั้นตอนที่ต้องทำด้วยตนเอง

เครื่องมือเปรียบเทียบสคีมาที่ได้รับความนิยมสามารถเป็นแบบอัตโนมัติและบูรณาการเข้ากับกระบวนการสร้าง อย่างไรก็ตามในประสบการณ์ของฉันการปฏิบัติทั่วไปที่พบบ่อยคือการเปรียบเทียบที่จะเรียกใช้ด้วยตนเองสคริปต์ที่เป็นผลลัพธ์จะตรวจดูในตาแหน่งในการควบคุมแหล่งที่มาจากนั้นเรียกใช้ด้วยตนเองเพื่อปรับใช้ ไม่ดี.

เมื่อใดก็ตามที่เราเข้าใจผิดได้มนุษย์จะต้องมีส่วนร่วมในกระบวนการสร้างหรือปรับใช้ที่เราแนะนำความเสี่ยงและเราทำให้กระบวนการไม่สามารถทำซ้ำได้

หากคุณและทีมของคุณเป็นหนึ่งในไม่กี่คนที่มีการเปรียบเทียบและการปรับใช้สคีมาโดยอัตโนมัติอย่าปิดบังคุณ! พวกคุณมักจะเปิดรับผลประโยชน์ที่ VS2010 นำเสนอให้เป็น:

  • คุณยอมรับแล้วว่าขั้นตอนแบบแมนนวลนั้นอันตราย
  • คุณเห็นคุณค่าของระบบอัตโนมัติ
  • คุณยินดีที่จะลงทุนเวลาที่จำเป็นเพื่อให้มันใช้ได้

หากคุณไม่สามารถสร้างบิลด์ได้ในขั้นตอนเดียวหรือปรับใช้ในขั้นตอนเดียวกระบวนการพัฒนาและการปรับใช้ของคุณจะใช้งานไม่ได้ หากคุณไม่ได้คิดอย่างนั้นขอให้โจ Spolsky


ทำไมต้อง VS2010

คำถาม @NickChammas ถูกวางกำลังมองหาคุณสมบัตินักฆ่าที่แสดงให้เห็นว่าทำไม VS2010 เป็นตัวเปลี่ยนเกมสำหรับการพัฒนาฐานข้อมูล ฉันไม่คิดว่าฉันจะทำเรื่องนี้ได้

บางทีอาจเป็นเรื่องตลกที่ผู้อื่นเห็นข้อบกพร่องในเครื่องมือนี้ฉันเห็นเหตุผลที่ดีในการนำไปใช้:

  • คุณจะต้องเปลี่ยนวิธีการของคุณ
  • คุณและทีมของคุณจะถูกบังคับให้ทำงานในวิธีที่ต่างออกไป
  • คุณจะต้องประเมินผลกระทบของการเปลี่ยนแปลงทุกอย่างโดยละเอียด
  • คุณจะได้รับคำแนะนำต่อการทำการเปลี่ยนแปลงทุกidempotent

หากคุณเป็น DBA แต่เพียงผู้เดียวในโครงการจัดการการเปลี่ยนแปลงทั้งหมดในฐานข้อมูลเหตุผลนี้ต้องฟังดูไร้สาระที่ไร้สาระ หากอย่างไรก็ตามคุณคิดว่า @BrentOzar มีประเด็นและหนึ่งในกฎใหม่คือทุกคนเป็น DBAคุณจะต้องควบคุมการเปลี่ยนแปลงฐานข้อมูลในแบบที่นักพัฒนาทุกคนในทีมสามารถทำงานได้

การยอมรับโครงการฐานข้อมูลอาจต้องการการเปลี่ยนแปลงทางจิต ( นิสัยเก่ายากที่จะทำลาย ) สำหรับนักพัฒนาบางคนหรืออย่างน้อยก็เปลี่ยนกระบวนการหรือเวิร์กโฟลว์ นักพัฒนาที่มีการใช้งานฐานข้อมูลที่พัฒนาแล้ว ที่ฐานข้อมูลการผลิตหมายถึงรุ่นปัจจุบันของฐานข้อมูลที่จะต้องนำมาใช้เป็นวิธีการตามรหัสที่มารหัสที่มาที่กลายเป็นรถที่มีการเปลี่ยนแปลงจะทำให้ฐานข้อมูล ในโครงการฐานข้อมูล Visual Studio โครงการและซอร์สโค้ดคือ "หนึ่งเวอร์ชันของความจริง" สำหรับสคีมาฐานข้อมูลและได้รับการจัดการโดยใช้เวิร์กโฟลว์ SCM ที่ผู้พัฒนาหรือองค์กรใช้สำหรับส่วนอื่น ๆ ของสแต็กแอปพลิเคชันแล้ว สำหรับข้อมูลฐานข้อมูลการผลิตยังคงเป็น "หนึ่งเวอร์ชันของความจริง" ตามที่ควรจะเป็น

เราได้มาถึงการเปลี่ยนแปลงขั้นพื้นฐานที่จำเป็นเพื่อให้ประสบความสำเร็จในการนำวิธีการ VS2010 มาใช้กับการพัฒนาฐานข้อมูล ...

ปฏิบัติต่อฐานข้อมูลของคุณเป็นรหัส

ไม่มีการเปลี่ยนแปลงฐานข้อมูลสด การเปลี่ยนแปลงฐานข้อมูลทุกครั้งจะเป็นไปตามรูปแบบเดียวกันกับการเปลี่ยนแปลงแอปพลิเคชัน ปรับเปลี่ยนแหล่งที่มาสร้างปรับใช้ นี้ไม่ได้มีการเปลี่ยนแปลงชั่วคราวของทิศทางจากไมโครซอฟท์นี้เป็นอนาคตสำหรับ SQL Server ฐานข้อมูลเป็นรหัสอยู่ที่นี่อยู่

ผู้พัฒนาฐานข้อมูลกำหนดรูปร่างของวัตถุสำหรับรุ่นของแอปพลิเคชันไม่ใช่วิธีการเปลี่ยนวัตถุที่มีอยู่ในโปรแกรมฐานข้อมูลให้เป็นรูปร่างที่ต้องการ คุณอาจถามตัวเอง: สิ่งนี้จะถูกนำไปปรับใช้กับฐานข้อมูลที่มีตารางลูกค้าอยู่แล้วได้อย่างไร นี่คือสิ่งที่เอ็นจิ้นการปรับใช้เข้ามาเพื่อเล่น ตามที่กล่าวไว้ก่อนหน้านี้เอ็นจิ้นการปรับใช้จะใช้สกีมาเวอร์ชันที่คอมไพล์แล้วและเปรียบเทียบกับเป้าหมายการปรับใช้ฐานข้อมูล เอ็นจิน differencing จะสร้างสคริปต์ที่จำเป็นเพื่ออัพเดตสกีมาเป้าหมายเพื่อให้ตรงกับเวอร์ชันที่คุณกำลังปรับใช้จากโครงการ

ใช่มีเครื่องมืออื่น ๆ ที่ทำตามรูปแบบที่คล้ายกันและสำหรับโครงการที่อยู่นอกขอบเขตที่ฉันวางไว้บนคำตอบของฉันพวกเขามีค่าควรพิจารณาอย่างเท่าเทียมกัน แต่ถ้าคุณทำงานกับ Visual Studio และ ALM Server Foundation ฉันไม่คิดว่าพวกเขาจะสามารถแข่งขันได้

เกิดอะไรขึ้นกับโครงการฐานข้อมูล VS2010

  • พวกเขาจะไม่สมบูรณ์แบบ แต่ถ้าคุณตระหนักถึงข้อ จำกัด และพื้นที่ปัญหาคุณสามารถแก้ไขได้
  • การเคลื่อนไหวของข้อมูลที่ซับซ้อนยังต้องการการดูแลและเอาใจใส่ แต่จะได้รับการจัดเตรียมด้วยสคริปต์การปรับใช้งานล่วงหน้า / โพสต์

แก้ไข: แล้วประเด็นของคุณคืออะไร?

@AndrewBickerton พูดถึงในความคิดเห็นที่ฉันไม่ได้ตอบคำถามเดิมดังนั้นฉันจะลองและสรุป "ทำไมฉันจึงควรใช้ Visual Studio 2010 บน SSMS สำหรับการพัฒนาฐานข้อมูลของฉัน" ที่นี่

  • SSMS ไม่ใช่เครื่องมือพัฒนาฐานข้อมูล ใช่คุณสามารถพัฒนา TSQL ด้วย SSMS ได้ แต่ไม่ได้ให้ฟีเจอร์ IDE ที่สมบูรณ์ของ VS2010
  • VS2010 จัดเตรียมเฟรมเวิร์กเพื่อจัดการฐานข้อมูลของคุณเป็นโค้ด
  • VS2010 นำการวิเคราะห์รหัสแบบคงที่ไปยังรหัสฐานข้อมูลของคุณ
  • VS2010 มอบเครื่องมือที่จะทำให้รอบการทดสอบการปรับใช้
  • SQL2012 และ Visual Studio vNext ขยายขีดความสามารถของโครงการฐานข้อมูล ทำความคุ้นเคยกับ VS2010 ตอนนี้และคุณจะได้เริ่มต้นใช้งานเครื่องมือพัฒนาฐานข้อมูลรุ่นต่อไป

คำตอบที่มีประโยชน์กับคำเตือนบางประการ: 1) คุณพลาดที่จะทำตามเกณฑ์ "คุณกำลังพัฒนาแอปพลิเคชันแบบสแตนด์อโลนที่ส่งไปยังเว็บไซต์ของลูกค้า (เช่น: มีสำเนาของฐานข้อมูลเดียวกันหลายชุดใน wild และใหม่ / ขายตลอดเวลา) "2) คุณตอบว่าทำไมเราควรปฏิบัติต่อฐานข้อมูลเป็นรหัสและจัดการพัฒนาสร้างปรับใช้รอบ (ซึ่งฉันเห็นด้วยกับ) ฉันไม่เห็นเหตุผลที่น่าสนใจในคำตอบของคุณว่าทำไมเราควรใช้ VS2010 เป็นกลไกในการบรรลุเป้าหมาย +2 (คำตอบที่รอบคอบ) & -1 (ไม่ตอบคำถามจริง)
Andrew Bickerton

2
คุณต้องการ "rich IDE" สำหรับสคริปต์ SQL อะไร
gbn

1
ประโยชน์ของวัฏจักรของการสร้างการปรับใช้และทดสอบแบบอัตโนมัติจะเห็นได้ในตอนท้าย ส่วนอัตโนมัติของการปรับใช้สดที่ฉันจะ จำกัด ให้เป็น "มือออก" คือไม่ต้องทำตามขั้นตอนใด ๆ
Mark Storey-Smith

1
นอกจากนั้นข้อโต้แย้งของคุณสำหรับการรวมจะมีข้อดีอยู่บ้าง มันใช้งานได้ดีแค่ไหนในกรณีทั่วไป? ฉันมีปัญหากับมัน แต่ฉันกล้าพูดว่ามันสามารถทำงานได้
ConcOfOfTunbridgeWells

2
@Nick ฉันจะทำเพื่อคุณ :-)
Jack Douglas

7

VS อาจดูดีหากคุณไม่รู้จัก SSMS หรือใช้เครื่องมือของบุคคลที่สาม ช่องว่างใน VS โดดเด่นถ้าคุณใช้เครื่องมือ Red Gate สำหรับการเปรียบเทียบสคีมา ฯลฯ และปลั๊กอิน SSMS ฟรีด้วย

บิตควบคุมแหล่งที่มาทำให้เข้าใจผิด: สิ่งที่อยู่ในฐานข้อมูลการผลิตคือสำเนาอ้างอิงของคุณ ไม่ใช่สิ่งที่ผู้พัฒนาใช้ ดู


1
ฉันต้องเห็นด้วยกับเรื่องนี้ - คุณสามารถทำการออกแบบและพัฒนา DB และจัดการ schema ด้วย VS2010 ได้ แต่มีกลุ่มเครื่องมือของบุคคลที่สามที่ทำเช่นนี้วิธีที่ดีกว่า
ConcOfOfTunbridgeWells

1
ทำไมคุณถึงใช้ผลิตเป็นสำเนาอ้างอิงของคุณ? ฉันคิดว่านั่นเป็นวิธีปฏิบัติที่ไม่ดีและอาจเป็นสัญญาณว่าการควบคุมแหล่งที่มาของคุณเสีย ทำไมรหัสฐานข้อมูลของคุณไม่ควรเป็นวงจรชีวิตการพัฒนาเหมือนอย่างอื่น?
Nick Chammas

@NickChammas: ฉันหมายถึงสำเนาการผลิตที่ได้รับการกู้คืน ในร้านค้าปัจจุบันของฉันสิ่งที่อยู่ในการควบคุมแหล่งที่มาไม่ตรงกับฐานข้อมูลสด ในครั้งสุดท้ายของฉันคล้ายกับทีมอื่น ๆ สิ่งที่นำไปใช้งานผ่านสคริปต์การเปลี่ยนแปลงไม่ใช่สิ่งที่นักพัฒนากำลังทำงานอยู่ ...
gbn

6

ฉันใช้ Visual Studio อย่างกว้างขวาง (well, BIDS) สำหรับการออกแบบรายงาน SSRS และแพ็คเกจ SSIS ฉันไม่สามารถทำได้อย่างดีถ้าอย่างใดอย่างหนึ่งในการจัดการสตูดิโอ Visual Studio เป็นสภาพแวดล้อมการพัฒนาที่สมบูรณ์และบูรณาการมากกว่าและมันเชื่อมโยงกับระบบควบคุมแหล่งที่มาได้ดียิ่งขึ้นเช่นกัน และนั่นคือทั้งหมดที่สะท้อนอยู่ในราคา!


6

ความเห็นของฉันตรงไปที่ SQL Server Management Studio สำหรับการออกแบบฐานข้อมูลการพัฒนาและการจัดการ (ชัดเจน) มันง่ายกว่าที่จะพิมพ์:

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

จากนั้นคลิกที่ตำแหน่งที่ถูกต้องทั้งหมด SSMS เป็นเลย์เอาต์ที่ยอดเยี่ยมและเป็นระเบิดที่ต้องทำงานอย่างแน่นอนและฉันเป็นผู้พัฒนาซอฟต์แวร์. NET ตามธรรมชาติ แต่เมื่อพูดถึงการออกแบบฐานข้อมูลและการเข้ารหัสฉันจะเลือก SSMS 11 ครั้งจาก 10 ครั้ง


ใน Visual Studio คุณพิมพ์ตาราง DDL ของคุณด้วยวิธีเดียวกันทุกประการ คุณกำลังคิดอย่างอื่นอยู่หรือไม่?
Nick Chammas

1
@Nick ฉันอาจพูดผิด ฉันรู้ว่าคุณสามารถทำได้ใน VS แต่สิ่งที่ฉันทำคือมันเป็นเรื่องดีที่มีเครื่องมือเฉพาะสำหรับงานเฉพาะ (และงานขนาดใหญ่) ในมือ ฉันเป็นสัตว์ร้ายแน่นอนและฉันทำให้ SSMS เป็นนิสัยของฉัน :)
Thomas Stringer

2
จริงๆ? ความสามารถในการแก้ปัญหา / โครงการ SSMS รู้สึกเหมือนว่าพวกเขาถูกเพิ่มโดยฝึกงาน 2 สัปดาห์ก่อนเปิดตัว
Mark Storey-Smith

1
@ MarkStorey-Smith เป็นคำถามเกี่ยวกับวิธีที่ SSMS ไม่มีการสนับสนุนโครงการ / โซลูชั่นและสิ่งสำคัญสำหรับการทำให้ทีมทำงานได้ดีใน IDE ทั่วทั้งกระดาน?
jcolebrand

3
หนึ่งซับจะเป็นที่ SSMS เป็นเครื่องมือการบริหารฐานข้อมูล VS2010 เป็นเครื่องมือในการพัฒนาฐานข้อมูล
Mark Storey-Smith

5

ไม่มีแนวปฏิบัติที่ดีที่สุด แต่ด้วยโครงการฐานข้อมูล VS 2010 และตัวควบคุมซอร์สโค้ด (VSS 2010, Subversion และอื่น ๆ ) คุณสามารถสร้างเวอร์ชันฐานข้อมูลของคุณ

ฉันขอแนะนำให้คุณออกแบบฐานข้อมูลของคุณโดยตรงใน SSMS หลังจากฐานข้อมูลของคุณใกล้เสร็จแล้วให้นำเข้าสู่โครงการฐานข้อมูล VS 2010 เมื่อการนำเข้าเสร็จสิ้นคุณจะต้องเพิ่มสคริปต์ใหม่ลงในโครงการฐานข้อมูลของคุณเพื่อติดตามการแก้ไขทั้งหมด คุณสามารถใช้คุณสมบัติเปรียบเทียบของโครงการฐานข้อมูลเพื่อรับการเปลี่ยนแปลงทั้งหมดจากเซิร์ฟเวอร์การพัฒนาและนำเข้าสคริปต์เหล่านั้นทั้งหมดลงในโครงการของคุณโดยตรง ตอนนี้คุณเพียงแค่ต้อง "ยอมรับ" การเปลี่ยนแปลงของคุณลงในตัวควบคุมซอร์สโค้ดของคุณ

ด้วยวิธีนี้คุณสามารถมีฐานข้อมูลเวอร์ชัน คุณสามารถตรวจสอบเวอร์ชั่นของแต่ละการแก้ไขและย้อนกลับการเปลี่ยนแปลงของคุณ

นี่ไม่ใช่ข้อได้เปรียบเพียงอย่างเดียว ด้วยโครงการประเภทนี้คุณสามารถเปรียบเทียบฐานข้อมูลใด ๆ กับโครงการของคุณเพื่อเขียนสคริปต์การเปลี่ยนแปลงและด้วยพรอมต์คำสั่ง SQL PowerShell คุณสามารถอัปเดตฐานข้อมูลทั้งหมดของคุณด้วยสคริปต์เดียวกัน: สคริปต์นี้เป็น XML schema ของฐานข้อมูลของคุณ มันจะดำเนินการเฉพาะคำสั่งที่จำเป็นในการอัพเดทฐานข้อมูลของคุณ คุณยังมีความเป็นไปได้ที่จะทำการทดสอบหน่วยในฐานข้อมูลของคุณ บทความอื่น ๆ ที่ดีสำหรับโครงการฐานข้อมูลที่มีอยู่ที่นี่ ด้วยคุณสมบัติการปรับใช้คุณสามารถมีสคริปต์ล่วงหน้าและสคริปต์หลัง ด้วยสคริปต์เหล่านั้นคุณสามารถตรวจสอบหรือแทรกข้อมูลลงในตารางระบบของคุณ

นี่คือขั้นตอนตามขั้นตอนที่ดีสำหรับโครงการฐานข้อมูล


4
นี่ไม่ใช่วิธีการพัฒนาฐานข้อมูลใน VS2010 ที่ควรจะทำคุณดูเหมือนจะพลาดประเด็นไปบ้าง 1) เหตุใดโลกเดียวที่คุณจะออกแบบฐานข้อมูลกรีนฟิลด์ใน SSMS จากนั้นนำเข้าสู่ VS 2) คุณไม่จำเป็นต้อง "เพิ่มสคริปต์ใหม่ในโครงการฐานข้อมูลของคุณเสมอ" เพื่อติดตามการเปลี่ยนแปลง 3) สคริปต์ไม่ใช่ "xml schema" ของฐานข้อมูลของคุณ
Mark Storey-Smith

คุณเคยลองโครงการฐานข้อมูลหรือไม่ 1 - เนื่องจากคุณสามารถนำเข้าฐานข้อมูลของคุณได้เพียงครั้งเดียวดังนั้นหากคุณไม่ต้องการสคริปต์ให้ทำทั้งหมดให้มากที่สุดเท่าที่จะทำได้ใน SSMS สำหรับแบบร่างฐานข้อมูลแรก 2- คุณถูกต้องคุณสามารถติดตามการเปลี่ยนแปลงด้วยเครื่องมือเปรียบเทียบของ VS2010 และ VS2010 จะสร้างขึ้นมาเพื่อคุณ 3- ลองโครงการฐานข้อมูลเมื่อคุณจะปรับใช้โครงการฐานข้อมูลของคุณคุณจะได้รับ XML Schema ของฐานข้อมูลของคุณเพื่อทำให้ฐานข้อมูลการผลิตของคุณทันสมัย
Nico

2
ใช่ตั้งแต่รุ่นแรกและเจ็บปวดมากขึ้น คุณจะนำเข้าครั้งเดียวแน่นอน แต่คุณซิงโครไนซ์หลาย ๆ (ไม่ใช่ว่าคุณจะต้องทำเช่นนั้นเว้นแต่คุณจะทำงานนอกสภาพแวดล้อม) คำอธิบายที่ถูกต้องมากขึ้นเกี่ยวกับสิ่งที่คุณอ้างถึงว่าเป็นสคริปต์ 'XML Schema' คือเครื่องมือจะรักษา meta-model ที่ใช้ xml ของฐานข้อมูลซึ่งเครื่องมือการปรับใช้บรรทัดคำสั่งใช้เพื่อสร้างคำสั่งที่จำเป็นในการอัพเดทฐานข้อมูลเป้าหมาย .
Mark Storey-Smith

2

ฉันใช้ SSMS มากกว่า VS2010 เพราะมันอยู่ที่นั่นเมื่อฉันติดตั้ง SQL Server นั่นอาจเป็นสิ่งที่สำคัญที่สุดที่ทำไม SSMS จึงถูกใช้มากกว่า VS2010, IMHO

ฉันยังพบว่าผู้ขายเช่น Red-Gate กำลังวางเครื่องมือที่ทำงานร่วมกับ SSMS และไม่จำเป็นต้อง VS2010 สิ่งนี้อาจเป็นไปในทางบวกที่จะช่วยให้คุณปรับปรุง SSMS โดยที่ Microsoft ไม่ได้ทำ ตัวอย่างหนึ่งของสิ่งนี้คือการควบคุมแหล่งที่มาของ SQL ของ Red Gate ซึ่งเป็นส่วนเสริมของ SSMS ที่อนุญาตให้คุณเชื่อมต่อ SSMS กับระบบการควบคุมแหล่งที่มาของ บริษัท ของคุณไม่ว่าจะเป็นมูลนิธิทีมภาพหรือสิ่งที่มีคุณ VS2010 มีในตัว แต่เมื่อเทียบกับราคาของเครื่องมือของ Reg-Gate ฉันเพิ่งประหยัดเงินได้มากโดยไม่ต้องซื้อ VS2010

ฉันคิดว่าโดยรวมแล้วเป็นเรื่องที่ชอบคุณทำงานกับสิ่งที่คุณพอใจถ้าคุณกำลังฝึกฝนคนใหม่และคุณฝึกฝนพวกเขาใน VS2010 นั่นก็จะกลายเป็นความชอบของพวกเขาเพราะพวกเขารู้วิธีเดินทางไปกับมัน

หากคุณเริ่มเล่นกับ SQL Server 2012 คุณอาจสังเกตเห็นว่า SSMS ได้รับการแต่งหน้าของ VS2010 ช้า แต่แน่นอน ดังนั้นในที่สุดคุณอาจไม่สามารถบอกความแตกต่างระหว่างพวกเขาได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.