อะไรคือเหตุผลทางธุรกิจวัตถุประสงค์ในการใช้ SQL Server 2012 มากกว่า 2008 R2


50

บริษัท ของฉันกำลังเผชิญกับการตัดสินใจว่าจะซื้อ SQL Server 2012 Denali หรือ SQL Server 2008 R2 สำหรับเซิร์ฟเวอร์ฐานข้อมูลใหม่ ฉันกำลังมองหาเหตุผลวัตถุประสงค์เพื่อเลือกอย่างใดอย่างหนึ่ง

ความต้องการของเรา:

  • Standard edition (สำหรับเหตุผลด้านการเงินและการขาดคุณสมบัติองค์กร)
  • ภาระงาน OLTP (ซึ่งหมายความว่าเราไม่ต้องการฟังก์ชั่นการสร้างหน้าต่างใหม่และดัชนีที่จัดเก็บคอลัมน์)
  • ขนาดฐานข้อมูล 10-100 GB
  • ไม่จำเป็นต้องมีคุณสมบัติระบบธุรกิจอัจฉริยะ ต้องการเอ็นจินเชิงสัมพันธ์เท่านั้น
  • การมิร์เรอร์ฐานข้อมูลแบบซิงโครนัส

ปัจจุบันเหตุผลต่อไปนี้เป็นที่รู้จักกันสำหรับฉัน:

SQL Server 2012 Denali

  • รุ่นใหม่ล่าสุดที่มีอยู่

SQL Server 2008 R2

  • เทคโนโลยีที่พิสูจน์แล้ว

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

เหตุผลวัตถุประสงค์ในการตัดสินใจมีอะไรบ้าง


5
ฉันคิดว่าตราบใดที่การเปลี่ยนแปลงการอนุญาตให้ใช้สิทธิแบบต่อหน่วยจะไม่เปลี่ยนแปลงงบประมาณของคุณและคุณไม่ต้องกังวลเกี่ยวกับการติดตามผู้ขายที่ช้าลงการใช้ SQL Server 2012 เป็นเกมที่ไม่ต้องคิดมาก สิ่งนี้ขึ้นอยู่กับเทคโนโลยีที่ได้รับการพิสูจน์แล้วดังนั้นจึงไม่ควรพิจารณาว่าจะเขียนใหม่และ / หรือ V1 อย่างสมบูรณ์
Aaron Bertrand

3
จากประสบการณ์ของฉันกับการเปิดตัวสามครั้งก่อนหน้าฉันจะรอ Service Pack อย่างน้อยหนึ่งชุด ด้วย 2008 ฉันรอจนถึง R2 และยังคงมีข้อบกพร่อง เพียงแค่จากด้านบนของฉัน: ในปี 2008 R2 ฉันสามารถข้ามข้อ จำกัด FK ที่เชื่อถือได้และแทรกแถวเด็กกำพร้าฉันสามารถเรียกใช้สคริปต์ใน SSMS และเป็นส่วนหนึ่งของการดำเนินการกับฐานข้อมูลที่ไม่ถูกต้อง
AK

3
@AaronBertrand ฉันคิดว่าการเปรียบเทียบของคุณเป็นเท็จ หากคุณเห็นคนคนหนึ่งและคนคนเดียวกันส่งข้อความและขับรถมากกว่าหนึ่งครั้งหลายครั้งก็สมเหตุสมผลที่จะสรุปว่าบุคคลนั้นอยู่ในไดรเวอร์ที่แย่มาก นี่คือลักษณะของ OP ที่จะทำให้เป็นเรื่องทั่วไปไม่ใช่อย่างที่คุณแนะนำ
AK

3
อเล็กซ์แจ้งให้เราทราบเมื่อใดก็ตามที่แพลตฟอร์ม RDBMS ที่ซับซ้อนมาโดยไม่มีข้อบกพร่อง IIRC การทำสำเนา FK ของคุณค่อนข้างซับซ้อนและไม่ใช่สถานการณ์ทั่วไป นอกจากนี้ยังแจ้งให้เราทราบหากคุณคิดว่า บริษัท ซอฟต์แวร์ไม่สามารถทำได้ดีขึ้นเมื่อเวลาผ่านไปหรือถ้าคุณคาดหวังว่าช่องโหว่ประเภทสแลมเมอร์ใน SQL 2012 จากนั้นในเวอร์ชันหลังจากนั้นและเวอร์ชันหลังจากนั้น ... ต้องปล่อยเรื่องเล่าของภรรยาเก่าเหล่านี้และใช้แพลตฟอร์มด้วยตัวเองและไม่ตัดสินด้วยข้อผิดพลาดบางอย่างในรุ่นก่อนหน้า ...
Aaron Bertrand

7
"การรอเซอร์วิสแพ็ค" เป็นตำนานเก่าแก่และ FUD
gbn

คำตอบ:


63

ทุกคนตื่นเต้นกับ AlwaysOn และ ColumnStore แต่ประโยชน์มากมายของ SQL Server 2012 นั้นไม่ได้ จำกัด เฉพาะรุ่นไฮเอนด์ ฉันไม่ต้องการให้เสียงเหมือนโฆษก แต่ฉันได้รับการนำเสนอมากมายใน SQL Server 2012 และฉันคิดว่ามันมีหลายสิ่งหลายอย่างที่จะเหมาะกับคุณ

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

  • Management Studioเป็นเครื่องมือที่ดีกว่ามากซึ่งสอดคล้องกับ Visual Studio IntelliSense ดีกว่าและฟีเจอร์อื่น ๆ ทั้งหมดทำให้การแก้ไขง่ายขึ้น ตอนนี้แน่นอนว่าคุณสามารถมี 2008 R2 บนเซิร์ฟเวอร์ของคุณและใช้ SSMS รุ่น 2012 ได้ แต่ฉันไม่แน่ใจว่าวิธีการทำงานของใบอนุญาตที่ชาญฉลาดและร้านค้าบางแห่งไม่ต้องการรุ่นผสม (ฉันชอบมีเครื่องมือล่าสุดใน เวิร์กสเตชันของฉันใช้จัดการเซิร์ฟเวอร์ระดับล่าง) ฉัน blogged เกี่ยวกับการเปลี่ยนแปลงในช่วงต้นเมื่อยังมีข้อบกพร่องดังนั้นโปรดละเว้นเชิงลบเนื่องจากส่วนใหญ่หรือทั้งหมดได้รับการแก้ไขเป็นของ RTM ฉันตัวสั่นตอนนี้เมื่อฉันต้องใช้ SSMS รุ่นก่อนหน้า

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

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

  • FileTableช่วยให้คุณจัดการโฟลเดอร์เช่นสารบัญ แต่ยังคงมีการควบคุมเนื้อหาภายนอก (ดังนั้นลองจินตนาการถึงความสามารถในการทำเช่นนี้กับ T-SQL และลองจินตนาการว่ามันยากแค่ไหนในการใช้ cmd หรือ PowerShell:) UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';.. . คิดว่า FileStream เป็นไปตาม WinFS และได้รับประโยชน์บางอย่างในการบูต

  • การปรับปรุง T-SQLช่วยให้คุณทำหลายสิ่งหลายอย่างที่เจ็บปวดในเวอร์ชันก่อนหน้า:

    • THROW (คิดว่าเป็นการยกระดับ)
    • OFFSET/FETCH (การเพจจิ้งมาตรฐาน ANSI ง่ายขึ้น)
    • SEQUENCE (IDENTITY กลไกส่วนกลางเช่นใน Oracle)
    • การปรับปรุง Windowing / Framing (สิ่งต่าง ๆ ที่นี่เช่นประสิทธิภาพการทำงานโดยรวมที่ยอดเยี่ยม)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • ตัวสร้างวันที่ / เวลา (เช่นDATETIMEFROMPARTS) คล้ายกับDateSerialใน VB
    • PARSE()/ FORMAT()- เหมือนคู่หู. NET
    • TRY_CONVERT()/ TRY_PARSE()- ส่งคืนNULLถ้าCONVERT/ PARSEล้มเหลว
  • Extended Eventsมี UI ที่ได้รับการปรับปรุงสำหรับการกำหนดค่า / การดูและในที่สุดก็ครอบคลุมฟังก์ชั่นการติดตาม / ตรวจสอบอย่างสมบูรณ์ (รวมถึงการติดตามเวรที่ดีกว่า)

  • DMVใหม่จำนวนมากขั้นตอนของระบบและการปรับปรุง ShowPlan สำหรับการวินิจฉัยและการแก้ไขปัญหาด้านประสิทธิภาพ ดูสิ่งที่ CSS เรียกว่า " The Black Box Recorder "

  • Server Coreช่วยให้คุณสามารถทำงานบนเซิร์ฟเวอร์ขั้นต่ำที่ไม่มีส่วนประกอบ UI ทั้งหมด (พื้นที่ผิวที่เล็กลงหมายถึงมีความปลอดภัยมากขึ้นและลดการบำรุงรักษาเนื่องจากส่วนของ OS ที่น้อยกว่าต้องขึ้นกับ Windows Update)

  • การค้นหาข้อความแบบเต็มได้รับการปรับปรุงประสิทธิภาพที่สำคัญบางประการรวมถึงการค้นหาความหมาย (คิดว่าคำหลัก) และความใกล้เคียงที่กำหนดเอง / ใกล้เคียง

  • AWE ไม่ได้รับการสนับสนุนอีกต่อไปหมายถึงอินสแตนซ์ SQL Server ของคุณบน x86 ที่มี 32GB RAM จะสามารถใช้ 4GB ได้เท่านั้น - ในที่สุดคุณจะมีแรงจูงใจในการถอดฮาร์ดแวร์ 32 บิตเก่าของคุณ


Re: ความคิดเห็น powershell ก็ยังค่อนข้างง่าย: gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}หรือสิ่งที่คล้ายกัน - แต่ไม่ง่ายและอ่านง่ายเหมือนตัวเลือก 2012!
JNK

3
สิ่งที่ยอดเยี่ยมเกี่ยวกับ PS คือคุณสามารถทำอะไรก็ได้ (เกือบ) ในหนึ่งบรรทัด สิ่งที่ไม่ดีคือมันยากที่จะอ่านบรรทัดนั้น :)
JNK

1
SSMS 2012 นั้นดีกว่านี้ไหม ??
Thomas Stringer

5
ใช่ฉันรักมัน. ฉันควรทำโพสต์บล็อกอื่นเกี่ยวกับเรื่องนี้ ไฮไลท์บางประการ: เกร็ดเล็กเกร็ดน้อยน่ากลัว IntelliSense เป็นวิธีที่ดีกว่าการแก้ไขภูมิภาคนั้นมีประสิทธิภาพมากแถบแถบนั้นยอดเยี่ยมสำหรับจอภาพหลายจอและมีการซูมในตัว
Aaron Bertrand

3
ฉันสามารถสรุปได้ว่าสัญลักษณ์แสดงหัวข้อย่อยเป็น: "x86 กำลังจะดูดมากกว่าที่เคยเป็น"
Aaron Bertrand

14

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

คุณสามารถ google up "รายการปัญหาที่แก้ไขโดย SQL Server 2008 Service Pack 1" และ "รายการปัญหาที่แก้ไขโดย SQL Server 2008 Service Pack 3" บนเว็บไซต์ MSDN เปรียบเทียบจำนวนและความรุนแรงของปัญหาในรายการทั้งสอง IMO รายการแรกยาวขึ้นและมีรายการเพิ่มเติมที่สามารถทำลายวันของฉันเช่น:

  • ข้อความแสดงข้อผิดพลาดเมื่อคุณเชื่อมต่อกับอินสแตนซ์ที่มีชื่อของ SQL Server บนคอมพิวเตอร์ไคลเอนต์ที่ใช้ Windows Vista หรือ Windows Server 2008
  • Log Reader Agent ข้ามบางธุรกรรมเมื่อ Log Reader Agent ทำงานเพื่อทำซ้ำธุรกรรม
  • ข้อความแสดงข้อผิดพลาดเมื่อคุณเรียกใช้แบบสอบถามที่เกี่ยวข้องกับการดำเนินการรวมภายนอกใน SQL Server 2008
  • ข้อความแสดงข้อผิดพลาดเมื่อคุณทำการปรับปรุงหรือลบการดำเนินการบนตารางที่ไม่มีดัชนีคลัสเตอร์ที่สร้างขึ้นใน SQL Server 2008
  • แบบสอบถามที่ใช้พารามิเตอร์และตัวเลือก RECOMPILE ส่งกลับผลลัพธ์ที่ไม่ถูกต้องเมื่อคุณเรียกใช้แบบสอบถามในการเชื่อมต่อหลาย ๆ พร้อมกันใน SQL Server 2008

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

ด้วยเหตุนี้ในช่วงเวลาของ SQL 2008 รุ่นดั้งเดิมฉันจึงตัดสินใจใช้ MERGE ตอนนี้ฉันใช้ MERGE อยู่มากในปี 2008 R2 และฉันคิดว่ามันเป็นคุณสมบัติที่ยอดเยี่ยมจริงๆ

แก้ไข: นี่คือรายการของข้อบกพร่องใน SQL 2012 ว่าเมื่อเร็ว ๆ นี้ได้รับการแก้ไข หวังว่ามันจะช่วย

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

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

เราต้องระมัดระวังอย่างมากกับคุณสมบัติใหม่ - ไม่ใช่ว่าคุณสมบัติทั้งหมดจะมีประโยชน์ / เชื่อถือได้ / มีประสิทธิภาพ


ฉันเห็นรายการ ไม่ได้รับรู้ถึงสิ่งใดในฐานะ show-stoppers และปัญหาเกือบทั้งหมดที่กล่าวถึงมีผลกระทบต่อทั้ง 2008 R2 และ 2012
Aaron Bertrand

1
นี่เป็นอีกหนึ่งที่มีศักยภาพMERGEข้อผิดพลาดที่ทำให้เกิดการหยุดชะงัก
Nick Chammas

@NickChammas ใช่ถูกต้องขอบคุณที่พูดถึงสิ่งนี้ เรากำลังใช้ sp_getapplock เพื่อเดินทางไปรอบ ๆ
AK

10

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

สำหรับโครงการกรีนฟิลด์คุณมีพื้นที่หายใจเพื่อแก้ไขข้อบกพร่องและเพิ่มพวกเขากับผู้ขายหากพวกเขาเปิดใช้งานดังนั้นจึงไม่ใช่กระบวนการที่ไม่สามารถควบคุมได้อย่างสมบูรณ์ ฉันมีส่วนร่วมในหนึ่งในโครงการคลังข้อมูลแรกใน SQL Server 2005 เช่นเดียวกับที่ไปที่ RTM และเราได้ไปกับมัน

หากชุดคุณลักษณะของ 2008R2 จะทำสิ่งที่คุณต้องการการตัดสินใจนั้นมีความเสี่ยงต่อข้อบกพร่อง / วิธีแก้ไขปัญหาบางประการเทียบกับค่าของการเลื่อนความจำเป็นในการอัพเกรดและบันทึกวงจรการอัพเกรด


6

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

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

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


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