ПредишенСледващото

Промяна на нивото на съвместимост докато потребителите са свързани с базата данни, това може да доведе до образуването на неверни резултатни набори за активни запитвания. Например, ако се променя нивото на съвместимост в процеса на компилиране на плана за заявка, съставен план може да се основава на двата най-стари и нови нива на съвместимост, което ще доведе до неправилно план и евентуално неточни резултати. Нещо повече, проблемът може да стане още по-сложно, ако планът ще бъде поставен в кеш план и повторно използвани за следващите заявки. За искания, издадени неверни резултати, се препоръчва да се използва следната процедура, за да промените нивото на съвместимост база данни.

Поставете базата данни в потребителски режим, като използвате ALTER DATABASE инструкции SET SINGLE_USER.

Промяна на нивото на съвместимост база данни.

Поставете базата данни в режим на достъп на много потребители, като използвате ALTER DATABASE инструкции SET MULTI_USER.

За повече информация за инсталираната база от данни режима на работа, вижте. Раздел ALTER DATABASE (Transact-SQL).

Когато запомнена процедура използва сегашното ниво на съвместимост база данни, в която е бил определен. При конфигуриране на съвместимостта на базата данни може да се промени, всички съхранени процедури на базата данни автоматично се съответно прекомпилирани.

Този раздел описва новите характеристики на поведението, причинена от появата на нивото на съвместимост 120.

нивото на съвместимост на 110 и по-долу

настройка на 120 ниво Съвместимост

Един стар заявка оптимизатор.

Ако нивото на съвместимост е по-малко от 120, при конвертиране вальор език параметър низ се игнорира. Имайте предвид, че това поведение е специфично само за вида на дата. Така например, следната заявка игнорира инструкциите в Задаване на език, освен при извършване на ниво 120 съвместимост.

опция език не се взема под внимание при конвертиране на стойността на дата низ.

Рекурсивни линкове от дясната страна с изключение на оферти се създаде един безкраен цикъл. Следващият пример демонстрира тази ситуация.

На нивото на съвместимост 110 стил по подразбиране винаги има стойност за актьорския състав и конвертирате операции по видове и път datetime2 121. данни Ако искането се основава на предишния поведение, трябва да използвате нивото на съвместимост е по-малко от 110, или укажете в стила на поразените заявката 0.

Актуализиране на базата данни за съвместимост, 110 няма да доведе до промяна в потребителските данни, съхранявани на диска. Тези данни трябва да бъдат съответно коригирани с ръка. Например, ако използвате оферта SELECT INTO да създадете таблица въз основа на източник, съдържащ израз изчислява колона описано по-горе, данните ще бъдат запазени (за стил 0), вместо определяне на изчислена самата колона. Тя ще трябва да се актуализира ръчно данните в съответствие със стила на 121.

Всякакъв вид smalldatetime колони изтрити таблици. фигурира в разпределя изглед, в сравнение с вида на дата и час. Съответните колоните на местните маси (колони, заемащи една и съща позиция в поредност списъка за избор) трябва да бъдат от тип дата и час.

Всякакъв вид smalldatetime колони изтрити таблици. фигурира в разпределя изглед, в сравнение с smalldatetime тип. Съответните колоните на местните маси (колони, заемащи една и съща позиция в поредност списъка за избор) трябва да бъдат от тип smalldatetime.

След актуализиране на слой съвместимост до 110 не успее разпределени разрез на тип данни несъответствие на. Този проблем може да бъде решен чрез промяна на типа данни на отдалечен маса на тема вече дата или определянето на нивото на локалната база данни за съвместимост, за да бъде 100 или по-ниска.

Soundex функция изпълнява следните правила.

H и W главни букви се игнорират, ако те споделят две съгласни, които имат един и същ номер в Soundex код.

Ако първите 2 character_expression символите имат един и същ номер в кода на Soundex, включва както знаци. В противен случай, ако наборът от последователни съгласни в кода на Soundex е един и същ номер, те са изключени, с изключение на първия знак.

Soundex функция изпълнява следните правила.

Ако буквите (главни букви) H или W акция две съгласни, които имат един и същ номер в Soundex код, в съответствие с писмо, че е вдясно, се игнорират.

Ако устройството има последователност в съответствие с един и същ номер в кода на Soundex, а след това всички те са изключени, с изключение на първия знак.

Soundex функция изпълнява допълнителни правила, прилагането на които стойностите, изчислени функция могат да бъдат различни от тези стойности, които са изчислени на различно ниво на съвместимост. След надграждането до ниво съвместимост 110, може да се наложи да се възстанови индексите, купчини или ограничения на проверката, които използват Soundex функция. За повече информация, вижте. В раздел Soundex (Transact-SQL).

Специалните качества XSI: нула и XSi: тип не може да изпълнява заявки или да ги променяте с помощта на ГСД изявления.

Това означава, че израз / д / @ XSi Нула, не се осъществи, въпреки факта, че предложението / E / @ * XSi атрибути: нула и XSi: тип ще бъде пропуснат. Въпреки това, предложението / д връща атрибути XSi: нула и XSi: тип за съгласуваност с SELECT xmlCol инструкция. дори ако XSi Отсъствие = "фалшиво".

Специално атрибути XSi: нулеви и XSi: тип атрибути се съхраняват, както обикновено, и те могат да изпълняват заявки и така промени в тях.

Например, прилагането на SELECT x.query заявка ( "A / B / @ * ') връща всички атрибути, включително XSI Отсъствие и XSi: тип. С цел да се премахнат тези видове искане да замени присъдата @ * Оферта @ * [пространство от имена-URI (.)! = "Поставете XSi пространство от имена URI", а не (местно име (.) = "Тип" или местно наименование (.) = "нула".

А потребителски дефинирана функция, която преобразува константите на XML низ във вида на SQL Server час и дата, маркирани като детерминирана.

А потребителски дефинирана функция, която преобразува константите на XML низ във вида на SQL Server час и дата, маркиран като не-детерминирана.

Комбинирането на XML и видове списъци не се поддържат напълно.

Асоцииране и списък типа се поддържат изцяло, включително и следните характеристики.

Списък на атомни видове

Параметри на валидиране SET, необходима за метод XQuery не успее, ако методът се съдържа в представителството или вътрешна маса ценен функция.

Валидиране параметрите, определени, необходими за метод XQuery се извършва ако методът се съдържа в представителството или вътрешен маса ценен функция. Ако методът на SET са неправилни, възниква грешка.

Стойностите на XML-Умение, които съдържат знаците за нов ред (връщане и нов ред), не се нормализират в съответствие със стандарта XML. По този начин, връщане на двата символа, вместо от един нов ред характер.

Стойностите на XML-Умение, които съдържат знаците за нов ред (връщане и нов ред) са нормализирани в съответствие със стандарта XML. По този начин, всички герои в низа край за анализирани в външни субекти (включително и лице документ), нормализирани към входа, трансформиране на двусимволния последователност #xD #xA #xD и символи, които не са последвани от символ #xA, в един знак #xA.

Приложенията, които използват атрибути за прехвърляне на низови стойности, крайни низ знаци, съдържащи не получават тези символи обратно към формата, в която са предадени. За да се предотврати извършването на процеса на нормализиране, използвайте цифровите XML лица героите, за да кодира всички край на ред знаци.

Колона имоти ROWGUIDCOL и идентичност може да бъде неправилно маркирани, както следва ограничения. Например, твърдението Създаване на таблица T (C1 вътр ОГРАНИЧЕНИЯ MyConstraint идентичност) се извършва, но името на ограничение не се съхранява и не са достъпни за потребителя.

Колона имоти ROWGUIDCOL и самоличност не може да бъде назован като ограничение. Извежда грешка 156.

Актуализация колона като се използва двойно задача като UPDATE Т1 SET @v = COLUMN_NAME = . може да доведе до неочаквани резултати, тъй като активното стойността на променливата може да се използва и в други предложения, като например къде и ON, по време на изпълнение на инструкциите на мястото на първоначалната стойност в инструкцията. Това може да е причината, че стойностите на предикатните ще се променят по непредсказуем начин, по време на прехода от линия на линия.

Това поведение е приложима само ако нивото на съвместимост е 90.

Актуализация на колона с помощта на двойно назначение произвежда очакваните резултати, тъй като по време на изпълнението на инструкцията се среща само достъп до колоната на първоначалната стойност в инструкцията.

Присвояване на стойност да им бъде разрешено в ръководството, съдържащ оператор СЪЮЗ най-високо ниво, но се връща до неочаквани резултати. Така например, в следните инструкции локална променлива определя @v BusinessEntityID колона стойност за комбиниране на двете плочи. Ако SELECT изявление връща повече от една стойност, променливата се определя последната стойност се връща. В този случай, променливата се определя последната стойност правилно, но има и връщането на набора от резултати изявление SELECT съюз.

Подкрепете проекта - споделете линка, благодаря!