อะไรคือวัตถุประสงค์เชิงเหตุผลที่ต้องการ SQL Server 2016 มากกว่าเวอร์ชั่นก่อนหน้า?


29

เนื่องจาก Microsoft ทำให้รุ่น SQL Server อัปเกรดบ่อยขึ้นตั้งแต่ SQL Server 2005 หรือ 2008 วันหลาย บริษัท พบว่าเป็นการยากที่จะตัดสินว่าการอัปเกรดเป็น "ต้องมี!" และเมื่อการอัปเกรดเป็น "ดีที่มี"

ในคำถามก่อนหน้านี้สองสามคำถามที่ถามถึงเหตุผลที่ต้องการรุ่นใหม่กว่าของ SQL Server มากกว่ารุ่นก่อนหน้าอะไรคือเหตุผลทางเทคนิคหรือเหตุผลทางธุรกิจที่ บริษัท อาจพิจารณาเพื่ออัปเกรดเป็น SQL Server 2016 มากกว่ารุ่นก่อนหน้า เปิดตัวเช่น SQL Server 2014

( คำถามนี้เกี่ยวกับ SQL Server 2012 เมื่อเทียบกับ SQL Server 2008 หรือนี่เกี่ยวกับ SQL Server 2012 เทียบกับ SQL Server 2005 เป็นตัวอย่างของจิตวิญญาณของคำถามนี้คำตอบของพวกเขายังขยายไปด้วยเหตุผลบางประการที่นี่สำหรับ บริษัท ที่เริ่มต้นใน SQL Server 2008 หรือ SQL Server 2005)

คำตอบ:


36

มีเหตุผลมากมายในการพิจารณาปรับรุ่นเป็น SQL Server 2016 ส่วนใหญ่แล้วเหตุผลเหล่านี้จะแตกต่างกันไปขึ้นอยู่กับรุ่นของ SQL Server ที่มาจาก นี่ไม่ใช่รายการที่ละเอียดถี่ถ้วน แต่ฉันจะให้เหตุผลสองสามข้อที่นึกถึง รวมถึงเหตุผลที่สำคัญอย่างหนึ่งที่เราเพิ่งเรียนรู้เกี่ยวกับการเปิดตัว SQL Server 2016 SP1 ในเดือนพฤศจิกายน 2559 รอคอยที่จะเห็นคำตอบอื่น ๆ สำหรับการขยายหรือคุณลักษณะที่ฉันพลาดไป

เหตุผลใหญ่: คุณสมบัติหลายอย่างที่มีใน Standard Edition ตอนนี้

เมื่อวันที่ 16 พฤศจิกายน 2559 Microsoft ประกาศเปิดตัว Service Pack 1 สำหรับ SQL Server 2016 พร้อมประกาศนี้พวกเขายังประกาศว่าคุณลักษณะหลายอย่างที่สงวนไว้ก่อนหน้านี้ให้กับลูกค้า Enterprise Edition จะพร้อมใช้งานในSQL Server ทุกรุ่น - มาตรฐาน Express (พร้อม ข้อยกเว้นบางประการ) เว็บนอกจาก Enterprise Edition

นี่ควรเป็นเหตุผลที่น่าสนใจอย่างยิ่งสำหรับการอัพเกรดสำหรับผู้จำหน่ายซอฟต์แวร์ที่พัฒนาและจำหน่ายซอฟต์แวร์ที่มีแบ็คเอนด์ของ SQL Server - ตอนนี้คุณลักษณะหลายอย่างสามารถให้บริการกับลูกค้าของพวกเขาโดยไม่คำนึงถึง SQL Server รุ่นที่ได้รับอนุญาต สิ่งนี้น่าดึงดูดสำหรับ บริษัท ในภาคที่ต้องรักษาการตรวจสอบหรือปรับปรุงความปลอดภัยอื่น ๆ ที่เพิ่มเข้ากับผลิตภัณฑ์เมื่อเวลาผ่านไป

ในความเห็นที่ต่ำต้อยของฉันในช่วง 17 ปีที่ทำงานกับ SQL Server นี่ทำให้ SQL Server 2016 SP1 ค่อนข้างจะเป็นการอัพเกรดที่น่าสนใจที่สุดตั้งแต่ฉันเริ่มทำงานกับ SQL Server ในเวอร์ชัน 6.5 (อย่าเข้าใจฉันผิด 2000, 2005 และ 2012 มีข้อดีสำหรับช่วงเวลาของพวกเขาด้วย!)

ดูรายการด้านล่าง แต่เป็นเพียงตัวอย่างด่วนของคุณสมบัติบางอย่างที่คุณสามารถใช้ใน Standard Edition คุณมีสิ่งเหล่านี้: การบีบอัด, เปลี่ยนการจับข้อมูล, การตรวจสอบอย่างละเอียด, การรักษาความปลอดภัยระดับแถว, เข้ารหัสเสมอ, การแบ่งพาร์ติชัน, ฐานข้อมูล Snapshots, OLTP ในหน่วยความจำ, Columnstore

เหตุผลเฉพาะสำหรับคุณสมบัติใหม่ของ SQL Server 2016

ฉันพยายามเก็บเหตุผลไว้ที่นี่ในส่วนนี้ถึงคุณลักษณะที่นำมาใช้ใน SQL Server 2016 เท่านั้น ฉันแค่อธิบายการปรับปรุงกลไกหลักในคำตอบนี้ไม่ใช่การรายงานการวิเคราะห์การรวมข้อมูล ฯลฯ

ความปลอดภัยที่เกี่ยวข้อง

การรักษาความปลอดภัยระดับแถว - ฉันมีลูกค้าจำนวนมากที่ต้องการความปลอดภัยในการใช้งานแบบแถวต่อแถว "ผู้ใช้ x สามารถดูข้อมูลในแถวนี้ แต่ไม่ใช่แถวนั้น" ลูกค้าเหล่านั้นจำนวนมากได้สร้างฟังก์ชั่นและ / หรือดูโครงสร้างที่ซับซ้อนเพื่อให้บรรลุสิ่งนี้ ใน SQL Server 2016 มีเพรดิเคตและนโยบายความปลอดภัยที่พร้อมให้ความช่วยเหลือที่นี่ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ RLS ที่นี่

Dynamic Data Masking - อันนี้ฟังดูดีบนกระดาษ แต่ฉันสงสัยว่ามันจะพิสูจน์ว่ามีประโยชน์น้อยกว่าการเปลี่ยนแปลงอีกสองครั้งในพื้นที่รักษาความปลอดภัย โดยทั่วไปคุณสามารถปิดบังแบบไดนามิกหรือทำให้ยุ่งเหยิงข้อมูลในเวลาแบบสอบถามตามสิทธิ์ของผู้โทร ปริมาณข้อมูลที่ต้องทำให้งงงวยเป็นสิ่งที่สามารถตั้งโปรแกรมได้ ตัวอย่างเช่นในตัวอย่างที่ Microsoft ใช้คุณสามารถซ่อนทั้งหมดได้ แต่ตัวเลขสี่หลักสุดท้ายของหมายเลขบัตรเครดิตเพื่อให้คนรับสายในศูนย์บริการสามารถตรวจสอบตัวเลขสี่หลักสุดท้ายได้ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับที่นี่

เข้ารหัสเสมอ - บางทีคุณเคยได้ยินเกี่ยวกับข้อบกพร่องหรือข้อกังวลบางอย่างเกี่ยวกับการเข้ารหัสข้อมูลแบบโปร่งใส บางทีคุณไม่ต้องการใช้ TDE เพราะกลัวว่าคนที่เข้าถึง SA สามารถถอดรหัสได้อย่างแน่นอนหากพวกเขาต้องการ เข้ารหัสเสมอถูกนำออกใช้เป็นคุณลักษณะที่ทำให้ความสามารถในการถอดรหัส / เข้ารหัสอยู่ในมือของแอปพลิเคชันที่เรียกไปยัง SQL Server ข้อมูลที่เหลือใน SQL Server ถูกเข้ารหัส ข้อมูลในเที่ยวบินมุ่งหน้าไปยัง SQL Server จะถูกเข้ารหัสอันเป็นผลมาจากวิธีการนี้เช่นกัน คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการเข้ารหัสเสมอที่นี่

คุณสมบัติ HA / DR

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

นั่นไม่ได้เป็นการเปลี่ยนเฉพาะกลุ่มความพร้อมใช้งาน (ซึ่งได้มีการนำมาใช้ใน SQL Server 2012) นอกจากนี้ยังมีการเปลี่ยนแปลงอื่น ๆ อีกเล็กน้อย (คุณสามารถดูรายการที่ละเอียดพร้อมลิงก์ไปยังการเปลี่ยนแปลงอื่น ๆ ได้ที่นี่ ):

  1. สนับสนุนบัญชีบริการจัดการกลุ่ม
  2. รองรับการทำธุรกรรมแบบกระจาย (มีข้อ จำกัดบางประการ )
  3. การอ่านการเชื่อมต่อเจตนาสามารถโหลดสมดุลระหว่างเรพลิคาแบบอ่านอย่างเดียว
  4. ตอนนี้มีสามแบบจำลองที่สามารถมีส่วนร่วมในการล้มเหลวอัตโนมัติ
  5. ขณะนี้ฐานข้อมูลที่เข้ารหัสสามารถเข้าร่วมในกลุ่ม Always On Availability ได้
  6. การปรับปรุงประสิทธิภาพ - ส่วนหนึ่งของชุดรูปแบบของ SQL Server 2016 คือ "เร็วขึ้น" - นั่นคือการหมุนของ Microsoft Marketing แต่เป็นการพิสูจน์ในตลาด มีการปรับปรุงหลายอย่างเกี่ยวกับประสิทธิภาพของกลุ่มความพร้อมใช้งาน

โปรแกรมติดตั้งแก้ไขข้อผิดพลาดทั่วไปบางอย่าง

ตัวติดตั้ง SQL Server เริ่มต้นใน SQL Server 2016 แก้ไขข้อผิดพลาดทั่วไปบางอย่างที่เกิดขึ้นเมื่อกำหนดค่า TempDB GUI การตั้งค่าจะแนะนำคุณเกี่ยวกับการกำหนดค่าแนวปฏิบัติที่ดีที่สุดในขณะนี้

Query Store

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

ตารางชั่วคราว

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

การปรับปรุง Columnstore

การปรับปรุงสามอย่างที่ใหญ่โตสำหรับฉันที่นี่ในอีกสองสามอย่าง หนึ่งคือดัชนีที่จัดเก็บในคอลัมน์ที่ไม่มีการรวมกลุ่มแบบปรับปรุงได้ SQL Server 2014 มอบคลัสเตอร์ที่อัปเดตแล้ว แต่ตอนนี้เราอัปเดตแล้วไม่น่าเชื่อถือ SQL Server 2016 ยังอนุญาตให้ดัชนี columnstore บนตาราง OLTP ในหน่วยความจำ และความสามารถในการวางดัชนีแบบ nonclustered แบบ B-tree แบบดั้งเดิมบนดัชนีแบบ columnstore แบบคลัสเตอร์นั้นมีอยู่ใน SQL Server 2016

การปรับปรุงคุณสมบัติเพิ่มเติมใน OLTP ในหน่วยความจำ

ฟีเจอร์หลายอย่างที่ไม่ได้รับการสนับสนุนภายในตารางในหน่วยความจำหรือในขั้นตอนที่รวบรวมได้นั้นมีให้บริการแล้ว บางส่วนเพิ่มเติม (แต่ดูที่บทความนี้สำหรับข้อมูลเพิ่มเติม): ข้อ จำกัด ที่ไม่ซ้ำกันตรวจสอบข้อ จำกัด ส่วนคำสั่งเอาท์พุทใน DML, Outer Join, แบบสอบถามย่อยในรายการเลือก, เลือก DISTINCT, UNION / UNION ALL, และอื่น ๆ

การปรับปรุงประสิทธิภาพทั่วไป

SQL Server 2014 ทำการปรับปรุงประสิทธิภาพในหลาย ๆ ด้านที่สำคัญเช่นกัน SQL Server 2016 ทำการปรับปรุงคีย์เพิ่มเติมทั่วทั้งผลิตภัณฑ์ ซึ่งรวมถึงการกำจัดลูกค้าจำนวนมากบางครั้งความเจ็บปวดที่พบในบางครั้งเมื่ออัปเกรดเป็น SQL Server 2014 เนื่องจากการเปลี่ยนแปลงตัวประมาณค่า cardinality มีการเปลี่ยนแปลงเครื่องยนต์ขึ้นและลงหลายครั้งเพื่อปรับปรุงประสิทธิภาพในชีวิตประจำวัน ทีม CSS ของ Microsoft ได้ทำบล็อกเกี่ยวกับสิ่งนี้ในบล็อกของพวกเขา คุณสามารถค้นหา "SQL Server 2016 ได้เร็วขึ้น" บล็อกโพสต์ตัวอย่างสำหรับชุดนี้เป็นที่นี่

ฉันเคยเห็นสิ่งนี้เล่นในลูกค้าที่อัปเกรดและคาดว่าจะเห็นมันมากขึ้นเรื่อย ๆ

ข้อเสียบางอย่าง

เห็นได้ชัดว่ามีข้อเสียในการอัพเกรด อาจเป็นเพราะฉันทำสิ่งนี้เพื่อหาเลี้ยงชีพในฐานะที่ปรึกษา แต่ฉันคิดว่าข้อเสียทั้งหมดสามารถจัดการได้อย่างไม่น่าเชื่อและเพียงแค่พิจารณาพวกเขา "นับค่าใช้จ่ายครั้งแรก" รายการที่ต้องตระหนักและจัดการ

การอัพเกรดทั่วไป - โดยทั่วไปการอัพเกรดหมายความว่าคุณกำลังแนะนำฟังก์ชั่นใหม่ คุณต้องสามารถทดสอบพวกเขา ระหว่างเวอร์ชันของ SQL Server ฟีเจอร์ต่างๆจะถูกคัดค้าน นี่ไม่ได้หมายความว่าพวกเขาจะหายไปทันที แต่มันก็หมายความว่าพวกเขาสามารถออกในอนาคตได้บ่อยครั้งในสามรุ่นต่อมา ตัวอย่างเช่นชนิดข้อมูล TEXT หรือการรวมภายนอกในส่วนคำสั่งด้วย*=หรือ=*ไม่สนับสนุนไวยากรณ์ถ้าคุณมาจากฐานข้อมูลที่ทำงานในโหมดความเข้ากันได้ของ SQL Server 2000 การพูดของโหมดที่ใช้งานร่วมกันได้ - มีเพียงสามรุ่นเท่านั้นเช่นกัน ดังนั้นหากคุณมีฐานข้อมูลที่ทำงานในโหมดความเข้ากันได้ 80 (SQL Server 2000) หรือ 90 (SQL Server 2005) พวกเขาจะไม่สามารถเข้าสู่ SQL Server 2016 ได้อย่างนั้น ดังนั้นหากคุณหลีกเลี่ยงการทำแบบทดสอบนั้นและเข้ากันได้กับระดับความเข้ากันได้ก็ถึงเวลาสำหรับการคำนวณ

อีกครั้ง นั่นคือสิ่งที่ง่าย มีเครื่องมือออกมีเพื่อช่วยในการจับภาพและทดสอบข้อมูลเพื่อดูสิ่งที่แตก มีตัวนับ perfmon ที่สามารถช่วยค้นหาคุณลักษณะที่เลิกใช้แล้ว

ใบอนุญาต - สองสิ่งที่นี่:

  1. Core Based - หากคุณคุ้นเคยกับข้อกำหนดสิทธิการใช้งาน SQL Server 2012 ใบอนุญาตของ CPU นั้นเป็นเพียง - ใบอนุญาตใช้งาน CPU ตั้งแต่ SQL Server 2012 ใบอนุญาตที่ยึดตาม CPU ได้รับการยึดตามแกนหลัก ดังนั้นจึงมีการปรับระยะเวลา นอกจากนี้องค์กรสำหรับใบอนุญาตใหม่ (มีข้อยกเว้นบางอย่างที่เกิดขึ้นเมื่อ 2,012 ครั้งแรกรีดออก) ต้องได้รับลิขสิทธิ์ในระดับหลัก - ไม่มีเซิร์ฟเวอร์ + CAL สำหรับองค์กร ซับเงินส่องแสงบนคลาวด์นี้ที่นี่คือสิ่งที่ฉันพูดเกี่ยวกับ SP1 ช่วยให้คุณลักษณะขององค์กรใน SKU ที่ไม่ใช่องค์กร หากคุณต้องการ RAM มากกว่า 128GB หากคุณต้องการการปรับปรุงประสิทธิภาพการสแกนขั้นสูง หากคุณต้องการ RAM มากกว่า 32GB สำหรับร้านคอลัมน์หรือในหน่วยความจำคุณก็กำลังมองหา Enterprise ถ้าคุณทำไม่ได้? และคุณไม่ต้องการสร้างดัชนีออนไลน์ใหม่ มาตรฐานอาจเหมาะสำหรับคุณและอาจเพิ่มขึ้นสำหรับคุณตอนนี้ด้วยคุณลักษณะใหม่ที่มีให้คุณ
  2. Software Assurance (SA) - หากคุณไม่ได้ซื้อ SA คุณจะต้องซื้อใหม่ ดังนั้นหากคุณใช้ SQL Server 2005 และคุณกังวลว่าคุณไม่ได้รับการสนับสนุนเป็นหลักไม่ไกลจากการสนับสนุนเสริมและหวังว่าคุณจะมีคุณสมบัติที่พร้อมใช้งานในตอนนี้คุณไม่สามารถอัพเกรดเหมือน Service Pack ได้ หากคุณไม่เคยซื้อ SA มาแสดงว่าการอัปเกรดของคุณเป็นการซื้อใหม่ ไม่เป็นไรมันคุ้มค่าจริงๆ แต่มันเป็นสิ่งที่ต้องทำเพื่อให้ได้งบประมาณ

สรุป

มีอีกหลายเหตุผลเช่นการสนับสนุน JSON การแนะนำ R เป็นต้น แต่นี่เป็นเพียงบางส่วนของเหตุผลที่ฉันจะพิจารณาการอัปเกรดสำหรับ รายการที่สำคัญที่สุดอีกครั้งคือความสามารถในการใช้คุณสมบัติ Enterprise Edition อย่างเดียวก่อนหน้านี้ใน Standard หรือแม้แต่ Express ฉันได้เห็นเรื่องราวความสำเร็จที่ยิ่งใหญ่ในหมู่ลูกค้าของฉันและฉันหวังว่าจะได้เห็นมากขึ้น

และถ้าคุณใช้ SQL Server 2005 หรือ 2008 รายการจะยิ่งใหญ่ขึ้น กลุ่มความพร้อมใช้งาน AlwaysOn ออกมาในปี 2012 ดัชนี Columnstore ใน SQL Server 2012, OLTP ในหน่วยความจำใน SQL Server 2014 เป็นต้น

ไม่ต้องพูดถึงว่าคุณยังอยู่ใน SQL Server 2005 หรือ 2008 แสดงว่าคุณไม่ได้รับการสนับสนุนหลัก


2
ทั้งหมดนี้ + เหตุผลทางธุรกิจที่แท้จริง - วงจรชีวิตที่ยาวที่สุด ผู้ที่ยังคงทำงานกับ SQL2000 ไม่สามารถอัพเกรด windows, windows เก่าที่ไม่ได้ติดตั้งบนเซิร์ฟเวอร์ใหม่และปัญหาทั้งหมดนี้เพิ่มขึ้นทีละคน สำหรับธุรกิจ - JSON และอื่น ๆ เป็นเพียงของเล่นไอที ... หยุดการสนับสนุนที่พวกเขาเข้าใจ
a_vlad
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.