SQL सर्वर में संगतता मोड को 100 से 110 में बदलने के निहितार्थ


17

मेरे पास MydatabaseSQL Server 2008 R2 में बनाया गया एक डेटाबेस है । मैंने SQL Server 2012 में अपग्रेड किया है।

मैं प्रतिशत की गणना करने के लिए क्वेरी के नीचे निष्पादित करने की कोशिश कर रहा था

select Distinct [KEY],PERCENTILE_CONT(0.25)  within group(order by EachPrice)
OVER(Partition By [KEY]) As Q1,PERCENTILE_CONT(0.50)  within group(order by EachPrice)
OVER(Partition By [KEY]) As Q2,
PERCENTILE_CONT(0.75)  within group(order by EachPrice)
OVER(Partition By [KEY]) As Q3,
PERCENTILE_CONT(1)  within group(order by EachPrice)
OVER(Partition By [KEY]) As Q4
from Mydatabase

लेकिन मुझे लगता है कि एक त्रुटि मिल रही है

Msg 10762, Level 15, State 1, Line 1
वर्तमान संगतता मोड में PERCENTILE_CONT फ़ंक्शन की अनुमति नहीं है। यह केवल 110 मोड या उच्चतर में अनुमत है।

  1. क्या मैं संगतता मोड को 110 में बदल सकता हूं?
  2. 100 से 110 तक संगतता मोड को बदलने के निहितार्थ क्या हैं?

कृपया सलाह दें


OMFG! "SQL सर्वर 2014 में क्वेरी योजनाओं को बनाने और अनुकूलित करने वाले घटक में पर्याप्त सुधार शामिल हैं।" लेकिन `मैं पिछले 3 वर्षों से इससे बिल्कुल भी लाभान्वित नहीं हुआ हूँ क्योंकि मेरा compatibility_levelअभी भी 100 पर है। शानदार!
साइमन_विवर

जवाबों:


9

निम्नलिखित लिंक पर एक नजर:

दैनिक संगतता स्तर

नीचे स्क्रॉल करें और आप "लोअर कम्पेटिबिलिटी लेवल और लेवल 110 के बीच अंतर" खंड देखेंगे और पहचानेंगे कि इनमें से कोई भी आइटम आपको प्रभावित करेगा या नहीं। यदि नहीं, तो बस स्तर को 110 में बदल दें।


3
जिसमें घंटों लगेंगे। एक उपकरण है जो आपके लिए ऐसा करता है, अब: Microsoft डेटा माइग्रेशन सहायक
MGOwen

5

अपग्रेड एडवाइजर भी है जो आपको अपने DB में कुछ भी पहचानने में मदद करेगा जो संगतता स्तर बदलते समय समस्याएं पैदा कर सकता है (मूल रूप से @steoleary ने जो कुछ भी करने का सुझाव दिया है उसका अर्ध-स्वचालित तरीका जो आपको कुछ भी याद नहीं होने की संभावना कम कर देता है)।


डेटा माइग्रेशन असिस्टेंट ने अब अपग्रेड एडवाइजर की जगह ले ली है।
MGOwen

हाँ यह 2012 के लिए था इसलिए आश्चर्यचकित नहीं कि उन्होंने नाम और / या कार्यक्षमता को बदल दिया है। मैं काफी समय से DBs के उन्नयन पर पाश से बाहर रहा हूँ क्योंकि मुझे शायद ही कभी इन दिनों DBs के साथ बहुत कुछ करना है - यह भी सुनिश्चित नहीं है कि नवीनतम संस्करण क्या है!
स्टीव पेटीफ़र

4

Microsoft डेटा माइग्रेशन असिस्टेंट आपको किसी भी समस्या को जल्दी और आसानी से हल करने में मदद करता है जो अपग्रेड को रोक या जटिल कर सकता है।

यदि इसे कोई समस्या नहीं मिलती है (या यदि यह करता है, और आपने उन्हें संबोधित किया है) तो आप इन कमांडों को चलाकर अपग्रेड कर सकते हैं, एक समय में एक:

USE master
go
ALTER DATABASE [yourdatabasesname]  SET SINGLE_USER     WITH ROLLBACK IMMEDIATE
go
ALTER DATABASE [yourdatabasesname]  SET COMPATIBILITY_LEVEL = 110    -- 130=SQL Server 2016, 120=2014, 110=2012
go
ALTER DATABASE [yourdatabasesname]  SET MULTI_USER
go
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.