Aracılığıyla paylaş


alter database uyumluluk düzeyi (Transact-sql)

Belirtilen sürümü ile uyumlu bazı veritabanı davranışları ayarlar SQL Server. Diğer alter database seçenekleri için bkz: alter veritabanı (Transact-sql).

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ALTER DATABASE database_name 
SET COMPATIBILITY_LEVEL = { 90 | 100 | 110 }

Bağımsız değişkenler

  • database_name
    Değiştirilmesi için veritabanı adıdır.

  • COMPATIBILITY_LEVEL {90 | 100 | 110}
    Sürümü SQL Serverile uyumlu olarak yapılması veritabanı olan. Değer aşağıdakilerden biri olmalıdır:

    90 = SQL Server 2005

    100 = SQL Server 2008 and SQL Server 2008 R2

    110 = SQL Server 2012

Açıklamalar

Tüm yüklemeleri için SQL Server 2012, varsayılan uyumluluk düzeyi 110 IS. Oluşturulan veritabanlarını SQL Server 2012sürece bu düzeye ayarlanır modeli veritabanı uyumluluk düzeyi vardır. Ne zaman bir veritabanı yükseltilmiş için SQL Server 2012herhangi bir önceki sürümünden SQL Server, en az 90 ise veritabanı varolan uyumluluk düzeyini korur. Bir veritabanı uyumluluk düzeyi 90 aşağıdaki yükseltme veritabanı uyumluluk düzeyi 90 ayarlar. Bu, sistem ve kullanıcı veritabanları için geçerlidir. Kullanım alter database veritabanı uyumluluk düzeyini değiştirmek için. Geçerli uyumluluk düzeyi veritabanı görüntülemek için compatibility_level sütununda sys.databases Katalog görünümü.

Uyumluluk düzeyi geriye dönük uyumluluk için kullanma

Uyumluluk düzeyi davranışlar yalnızca belirtilen veritabanı için değil, sunucunun tamamını etkiler. Uyumluluk düzeyi yalnızca kısmi önceki sürümleriyle geriye dönük uyumluluk sağlar SQL Server. Uyumluluk düzeyi bir ara geçiş yardım olarak ilgili uyumluluk düzeyi ayarıyla denetlenir davranışları sürüm farklılıkları gidermek için kullanın. Varsa SQL Serveruygulamaları davranış farklılıkları etkilenen SQL Server 2012, düzgün çalışması için uygulama dönüştürün. Daha sonra alter database uyumluluk düzeyi 100 olarak değiştirmek için. Veritabanı sonraki geçerli (varsayılan veritabanı olarak giriş veya bir use deyiminde belirtilen olup) yapıldığında veritabanı için yeni uyumluluk ayarı etkinleşir.

En İyi Yöntemler

Kullanıcılar veritabanına bağlıyken uyumluluk düzeyini değiştirmek aktif sorgular için hatalı sonuç kümeleri oluşturabilir. Sorgu planı derlenmekte uyumluluk düzeyi değişiklikleri, örneğin derlenmiş planı iki eski ve yeni Uyumluluk düzeyleri üzerinde yanlış bir planı ve potansiyel olarak yanlış sonuçlar sonuçlanan esas olabilir. Ayrıca, sorun planı plan önbelleğinde yerleştirilmişse bileşik ve sonraki sorguları için yeniden kullanılabilir. Hatalı sorgu sonuçları önlemek için bir veritabanı uyumluluk düzeyini değiştirmek için aşağıdaki yordamı önerilir:

  1. Veritabanı, alter database set SINGLE_USER kullanarak tek kullanıcı erişim moduna ayarlayın.

  2. Veritabanı uyumluluk düzeyini değiştirin.

  3. Veritabanı, alter database set MULTI_USER kullanarak çok kullanıcılı erişim modunda koydu.

  4. Bir veritabanı erişim modu ayarlama hakkında daha fazla bilgi için bkz: alter veritabanı (Transact-sql).

Uyumluluk düzeyleri ve saklı yordamlar

Saklı yordam yürütüldüğünde, onu tanımlandığı veritabanı geçerli uyumluluk düzeyini kullanır. Veritabanı uyumluluk ayarı değiştirildiğinde, onun saklı yordamların tümünü otomatik olarak buna göre recompiled.

90 Ve düzeyi 100 farklılıklar arasında uyumluluk düzeyi

Bu bölümde uyumluluk düzeyi 100 tanıtılan yeni davranış açıklanır.

Uyumluluk düzeyi ayarı 90

Uyumluluk düzeyi ayarı 100

Darbe olasılığını

Oturum düzeyi ayarı ne olursa olsun oluşturulduğunda QUOTED_IDENTIFER ayarı her zaman çoklu deyimli tablo değerli işlevler için on olarak ayarlanır.

Çoklu deyimli tablo değerli işlevler oluşturulduğunda tırnak içine alınmış TANIMLAYICI oturum ayarı onurlandırıldı.

Medium

Oluşturduğunuzda veya alter PARTITION FUNCTION datetimeve smalldatetimeişlevi harflerin varsayılarak US_English dil ayarı olarak değerlendirilir.

Geçerli dil ayarı değerlendirmek için kullanılan datetimeve smalldatetimebölüm işlevi harflerin.

Medium

for browse yan tümcesi izin (gözardı INSERT ve select INTO deyimlerinde ve).

for browse yan tümcesi INSERT ve select INTO deyimlerinde izin verilmez.

Medium

Tam metin yüklemler output yan tümcesinde izin verilir.

Tam metin yüklemler output yan tümcesinde izin verilmez.

Düşük

fulltext STOPLIST oluşturmak, alter fulltext STOPLIST ve fulltext STOPLIST drop desteklenmiyor. Sistem stoplist otomatik olarak yeni tam metin dizinleri ile ilişkilidir.

fulltext STOPLIST oluşturmak, alter fulltext STOPLIST ve fulltext STOPLIST drop desteklenir.

Düşük

Birleştirme ayrılmış bir anahtar sözcük uygulanır.

Birleştirme tamamen ayrılmış bir anahtar sözcük iş. BIRLEŞTIRME deyimini hem 100 hem de 90 Uyumluluk düzeyleri altında desteklenir.

Düşük

Kullanarak <dml_table_source> INSERT deyimi bağımsız değişken sözdizimi hatası yükseltir.

Bir output yan tümcesinde iç içe INSERT, update, delete, sonuçlarını yakalamak veya deyimi BİRLEŞTİRMEK ve bu sonuçları hedef tablo veya Görünüm yerleştirin. Bu yapılır kullanarak <dml_table_source> INSERT deyimi bağımsız değişkeni.

Düşük

NOINDEX belirtilmedikçe, hem fiziksel ve mantıksal tutarlılık denetimleri tek bir tablo veya dizin oluşturulmuş görünüm ve onun tüm kümelenmemiş hem de xml dizinler dbcc checkdb veya dbcc checktable gerçekleştirir. Uzamsal dizinler desteklenmez.

NOINDEX belirtilmedikçe, dbcc checkdb veya dbcc checktable tek bir tablo ve bütün kümelendirilmemiş dizinler üzerinde hem fiziksel ve mantıksal tutarlılık denetimleri gerçekleştirir. Ancak, xml dizinler, kayma dizinleri ve dizin oluşturulmuş görünümler, varsayılan olarak yalnızca fiziksel tutarlılık denetimleri gerçekleştirilmez.

EXTENDED_LOGICAL_CHECKS ile belirtilen dizin oluşturulmuş görünümler, xml dizinler ve kayma dizinler üzerinde mantıksal denetimleri gerçekleştirilmez, burada mevcut. Varsayılan olarak fiziksel tutarlılık denetimleri, mantıksal tutarlılık denetimlerinden önce gerçekleştirilir. NOINDEX de ayrıca belirtilirse, yalnızca mantıksal denetimler gerçekleştirilir.

Düşük

output yan tümcesi ile bir veri düzenleme dili (dml) deyimi kullanılır ve deyimi yürütme sırasında bir çalıştırma hatası oluşur tüm işlemin sona ve geri alındı.

output yan tümcesi ile bir veri düzenleme dili (dml) deyimi kullanılır ve deyimi yürütme sırasında bir çalıştırma hatası oluşur davranış set xact_abort ayarına bağlıdır. set xact_abort kapalı ise, output yan tümcesi kullanarak dml deyimi tarafından oluşturulan bir deyimi durdurma hatası ifadesi sonlanır ancak toplu iş yürütme devam ediyor ve işlem geri alınır değil. set xact_abort on ise, tüm çalışma zamanı hataları output yan tümcesi kullanarak dml deyimi tarafından oluşturulan toplu iş sonlandırılır ve işlem geri alınır.

Düşük

cube ve rollup ayrılmış anahtar kelimeler olarak zorlanmaz.

cube ve rollup ayrılmış anahtar sözcükleri group by yan tümcesi bulunmaktadır.

Düşük

Sıkı doğrulama xml öğelerine uygulanır anyTypetürü.

LAX doğrulama öğelerine uygulanır anyTypetürü. Daha fazla bilgi için, bkz. Joker bileşenleri ve içerik doğrulama.

Düşük

Özel öznitelikler xsi: Nil ve xsi: Type sorgulanan veya veri düzenleme dili deyimleri tarafından güncellenmiştir.

Bu demektir ki /e/@xsi:nilbaşarısız ise /e/@* yok sayar xsi:nilve xsi:typeöznitelikleri. Ancak, /edöner xsi:nilve xsi:typeile tutarlılık için öznitelikleri SELECT xmlCol, bile xsi:nil = "false".

Özel öznitelikler xsi: Nil ve xsi: Type normal öznitelikleri saklanır ve sorgulanan ve güncellenmiştir.

Örneğin, sorgu yürütme SELECT x.query('a/b/@*')dahil tüm özniteliklerini döndürür xsi: Nil ve xsi: Type. Bu tür sorgu dışında bırakmak yerine @*ile @*[namespace-uri(.) != "insert xsi namespace uri"ve (local-name(.) = "type"ya dalocal-name(.) ="nil".

Düşük

Bir xml sabit dize değerine dönüştürür, kullanıcı tanımlı bir işlev bir SQL Serverdatetime türü olarak deterministic işaretlenmiş.

Bir xml sabit dize değerine dönüştürür, kullanıcı tanımlı bir işlev bir SQL Serverdatetime türü işaretli olarak deterministic olmayan.

Düşük

xml Birliği ve liste türleri tam olarak desteklenmez.

Birliği ve liste türleri aşağıdaki işlevleri de dahil olmak üzere tam olarak desteklenmektedir:

  • Liste Birliği

  • Birliği Birliği

  • Atomik türleri listesi

  • Birliği listesi

Düşük

Yöntem bir görünüm veya satır içi tablo değerli işlev içerdiği zaman bir xQuery yöntemi için gerekli set seçenekleri doğrulanır.

Yöntem bir görünüm veya satır içi tablo değerli işlev içerdiği zaman bir xQuery yöntemi için gerekli set seçenekleri doğrulanır. set seçenekleri yönteminin yanlış ayarlanmışsa, bir hata oluşturulur.

Düşük

Satır sonu karakterlerini (satır başı ve satır besleme) içeren xml öznitelik değerleri xml standardına göre normalleştirilmiş değil. Yani, iki karakter yerine tek bir satır besleme karakteri döndürülür.

Satır sonu karakterlerini (satır başı ve satır besleme) içeren xml öznitelik değerleri xml standardına göre normalleştirilmiş. Yani, dış ayrıştırılmış varlıklar (belgenin varlığı da dahil) tüm satır sonlarını iki karakterlik sıra xD XA ve XA tarafından bir tek XA karakteri için takip edemiyorum herhangi bir xD çevirerek giriş normalleştirilmiş.

Geri gönderilmektedir gibi öznitelikleri satır sonu karakterler içeren taşıma dize değerlerini kullanan uygulamalar bu karakterleri almaz. Normalleştirme işlemi önlemek için tüm satır sonu karakterleri kodlamak için xml sayısal karakter varlıkları kullanın.

Düşük

ROWGUIDCOL ve kimlik sütunu özelliklerini hatalı bir kısıtlama olarak adlandırılabilir. Örneğin CREATE TABLE T (C1 int CONSTRAINT MyConstraint IDENTITY)yürütür, kısıtlamanın adı değil korunur ve kullanıcı için erişilebilir değil.

ROWGUIDCOL ve kimlik sütunu özelliklerini bir kısıtlama olarak adlandırılamaz. Hata 156 döndürülür.

Düşük

Çift yönlü bir atama gibi kullanarak sütunları güncelleştirme UPDATE T1 SET @v = column_name = <expression>canlı değeri değişkenin diğer yan ve yan tümcesi where gibi başlangıç değeri deyimi yerine deyimi yürütme sırasında kullanılabilir çünkü beklenmedik sonuçlar üretebilir. Bu anlamları yüklemler unpredictably bir satır başı olarak değiştirmek için neden olabilir.

Bu davranış, yalnızca Uyumluluk düzeyi 90 olarak ayarlandığında geçerlidir.

Çünkü sadece başlangıç değeri sütunun deyimini deyimi yürütme sırasında erişilen bir çift yönlü atama kullanarak sütunları güncelleştirme beklenen sonuçlar üretir.

Düşük

Değişken atama bir üst düzey UNION işleci içeren bir deyimi izin verilir, ancak beklenmedik sonuçlar verir. Örneğin, aşağıdaki ifadeler, yerel değişken içinde @vsütun değeri atanır BusinessEntityIDiki tablonun Birliği. select deyimi birden çok değer döndürdüğünde tanımına göre değişken döndürülen son değeri atanır. Bu durumda, değişken doğru son değeri atanır ancak seçin Birliği deyiminin sonuç kümesi de döndürülür.

ALTER DATABASE AdventureWorks2012
SET compatibility_level = 90;
GO
USE AdventureWorks2012;
GO
DECLARE @v int;
SELECT @v = BusinessEntityID FROM HumanResources.Employee
UNION ALL
SELECT @v = BusinessEntityID FROM HumanResources.EmployeeAddress;
SELECT @v;
ALTER DATABASE AdventureWorks2012
SET compatibility_level = 90;
GO
USE AdventureWorks2012;
GO
DECLARE @v int;
SELECT @v = BusinessEntityID FROM HumanResources.Employee
UNION ALL
SELECT @v = BusinessEntityID FROM HumanResources.EmployeeAddress;
SELECT @v;

Değişken atama bir üst düzey UNION işleci içeren bir deyimi içinde izin verilmez. Hata 10734 döndürülür.

Hatayı gidermek için aşağıdaki örnekte gösterildiği gibi sorguyu yeniden yazın.

DECLARE @v int;
SELECT @v = BusinessEntityID FROM 
    (SELECT BusinessEntityID FROM HumanResources.Employee
     UNION ALL
     SELECT BusinessEntityID FROM HumanResources.EmployeeAddress) AS Test;
SELECT @v;
DECLARE @v int;
SELECT @v = BusinessEntityID FROM 
    (SELECT BusinessEntityID FROM HumanResources.Employee
     UNION ALL
     SELECT BusinessEntityID FROM HumanResources.EmployeeAddress) AS Test;
SELECT @v;

Düşük

odbc işlevini {fn convert()} dil varsayılan tarih biçimini kullanır. Bazı dillerde ydm convert() Yag biçim beklediğiniz diğer işlevleri ile {fn curdate()} gibi birleştirildiğinde hangi dönüştürme hatalarına neden, varsayılan biçimidir.

odbc işlevini {fn convert()} stili 121 (dilden bağımsız Yag biçimi) kullanan zaman odbc veri dönüştürme türleri sql_tımestamp, sql_date, SQL_TIME, sqldate, SQL_TYPE_TIME ve SQL_TYPE_TIMESTAMP.

Düşük

odbc işlevini {fn curdate()} yalnızca tarihi 'yyyy-AA-GG' biçiminde döndürür.

Tarih ve zaman, örneğin {fn curdate()} odbc işlevini verir ' yyyy-AA-GG: ss.

Düşük

DateTime intrinsics datepart gibi dize geçerli bir datetime rakamları için giriş değerleri gerektirmez. Örneğin, Seç datepart (yıl, ' 2007-0530 ') başarıyla derler.

DateTime intrinsics datepart gibi dize geçerli bir datetime rakamları için giriş değerleri gerektirir. Geçersiz bir datetime hazır kullanıldığında hata 241 döndürülür.

Düşük

Alt Uyumluluk düzeyleri ve düzeyi 110 arasındaki farklar

Bu bölümde uyumluluk düzeyi 110 tanıtılan yeni davranış açıklanır.

Uyumluluk düzeyi ayarı 100 ya da daha düşük

Uyumluluk düzeyi ayarı 110

Ortak dil çalışma zamanı (clr) veritabanına nesneleri clr versiyonu 4 ile yürütülür. Ancak, bazı davranış değişiklikleri clr 4 sürümünden tanıştırmak kaçınılmalıdır. Daha fazla bilgi için, bkz. clr tümleştirme yenilikler.

clr veritabanı nesnelerini clr versiyonu 4 ile yürütülür.

XQuery işlevleri string-lengthve substringher vekil iki karakter olarak sayılır.

XQuery işlevleri string-lengthve substringher vekil olarak bir karakter sayımı.

Özet özyinelemeli ortak tablo ifade (cte) sorgu içinde izin verilir. Ancak, birden çok satır başına gruplandırma olduğunda sorgu yanlış sonuçlar verir.

Özet özyinelemeli ortak tablo ifade (cte) sorgu içinde izin verilmez. Bir hata döndürülür.

RC4 algoritması yalnızca geriye dönük uyumluluk için desteklenir. Yeni malzeme yalnızca veritabanı uyumluluk düzeyi 90 ya da 100 olduğunda RC4 veya RC4_128 kullanılarak şifrelenebilir. (Önerilmez.) De SQL Server 2012, malzeme RC4 veya RC4_128 kullanılarak şifrelenmiş herhangi bir uyumluluk düzeyi şifresi.

Yeni malzeme, RC4 veya RC4_128 kullanarak şifrelenemez. Bir aes algoritması gibi yeni bir algoritma kullanın. De SQL Server 2012, malzeme RC4 veya RC4_128 kullanılarak şifrelenmiş herhangi bir uyumluluk düzeyi şifresi.

cast ve convert işlemleri için varsayılan stili timeve datetime2veri türleri ise iki tür hesaplanmış bir sütun ifadesinde kullanıldığında dışında 121. Hesaplanan sütunlarda, varsayılan stil 0'dır. Bu davranış, oluşturulduklarında, otomatik parametreleştirmenin olduğu sorgularda veya kısıtlama tanımlarında kullanıldıklarında hesaplanan sütunları etkiler.

Aşağıdaki örnek, 0-121 stiller arasındaki farkı gösterir. Bu, yukarıda açıklanan davranışı göstermek değil. Tarih ve saat stilleri hakkında daha fazla bilgi için bkz: CAST ve CONVERT (Transact-SQL).

CREATE TABLE t1 (c1 time(7), c2 datetime2); 
INSERT t1 (c1,c2) VALUES (GETDATE(), GETDATE());
SELECT CONVERT(nvarchar(16),c1,0) AS TimeStyle0
       ,CONVERT(nvarchar(16),c1,121)AS TimeStyle121
       ,CONVERT(nvarchar(32),c2,0) AS Datetime2Style0
       ,CONVERT(nvarchar(32),c2,121)AS Datetime2Style121
FROM t1;
-- Returns values such as the following.
TimeStyle0       TimeStyle121     Datetime2Style0      Datetime2Style121
---------------- ---------------- -------------------- --------------------------
3:15PM           15:15:35.8100000 Jun  7 2011  3:15PM  2011-06-07 15:15:35.8130000
CREATE TABLE t1 (c1 time(7), c2 datetime2); 
INSERT t1 (c1,c2) VALUES (GETDATE(), GETDATE());
SELECT CONVERT(nvarchar(16),c1,0) AS TimeStyle0
       ,CONVERT(nvarchar(16),c1,121)AS TimeStyle121
       ,CONVERT(nvarchar(32),c2,0) AS Datetime2Style0
       ,CONVERT(nvarchar(32),c2,121)AS Datetime2Style121
FROM t1;
-- Returns values such as the following.
TimeStyle0       TimeStyle121     Datetime2Style0      Datetime2Style121
---------------- ---------------- -------------------- --------------------------
3:15PM           15:15:35.8100000 Jun  7 2011  3:15PM  2011-06-07 15:15:35.8130000

Üzerinde 110, cast ve convert işlemleri için varsayılan stil uyumluluğu altında düzey timeve datetime2veri türleri her zaman 121. Sorgunuz eski davranışı varsayıyorsa, 110'dan daha düşük bir uyumluluk düzeyi kullanın veya etkilenen sorguda 0 stilini açıkça belirtin.

Veritabanını uyumluluk düzeyi 110'a yükseltmek, diske depolanan kullanıcı verilerini değiştirmez. Bu verileri el ile gerektiği gibi düzeltmelisiniz. Örneğin, yukarıda betimlendiği gibi bir hesaplanan sütun ifadesi içeren bir kaynakta bir tablo oluşturmak için SELECT INTO kullandıysanız, hesaplanan sütun tanımının kendisi yerine (stil 0'ı kullanan) veriler depolanır. Stil 121 ile eşleşmesi için bu verileri el ile güncelleştirmeniz gerekir.

Herhangi bir uzak tablo türündeki sütunlarda smalldatetimebölümlenmiş bir görünümde başvurulan olarak eşlenen datetime. (Aynı konumdaki sıra seçin listesinde) yerel tablolarda karşılık gelen sütun türü olmalıdır datetime.

Herhangi bir uzak tablo türündeki sütunlarda smalldatetimebölümlenmiş bir görünümde başvurulan olarak eşlenen smalldatetime. (Aynı konumdaki sıra seçin listesinde) yerel tablolarda karşılık gelen sütun türü olmalıdır smalldatetime.

Dağıtılmış Bölümlenmiş görünümün 110 için yükselttikten sonra veri türü uyuşmazlığı nedeniyle başarısız olur. Uzak tabloya veri türüne değiştirerek çözebilirsiniz datetimeveya 100 yerel veritabanı düzeyindeki veya daha düşük uyumluluk ayarı.

soundex işlevi aşağıdaki kuralları uygular.

  1. Eğer character_expressionherhangi bir çift mektuplar vardır bir harf kabul edilir.

  2. Eğer bir sesli (a, e, ı, o, u) aynı soundex kodu, ünsüz hecenin sağındaki iki ünsüz kodlu ayırır.

soundex işlevi aşağıdaki kuralları uygular

  1. Eğer character_expressionherhangi bir çift mektuplar vardır bir harf kabul edilir.

  2. Eğer character_expressionfarklı harf-soundex kodlama Kılavuzu'nda, aynı olan yan sahip bir harf kabul edilir.

  3. Eğer bir sesli (a, e, ı, o, u) aynı soundex kodu, ünsüz hecenin sağındaki iki ünsüz kodlu ayırır.

  4. S veya w aynı soundex kodu iki ünsüz ayırırsanız, ünsüz hecenin sağındaki kodlu değil.

Ek kurallar, daha önceki Uyumluluk düzeyleri altında hesaplanan değerleri farklı soundex işlevi tarafından hesaplanan değerler neden olabilir. Uyumluluk düzeyi 110 yükselttikten sonra dizinler, yığınlar, yeniden veya check kısıtlamaları soundex işlevini kullanan gerekebilir. Daha fazla bilgi için bkz.soundex (Transact-sql)

Ayrılmış Anahtar Sözcükler

Uyumluluk ayarını da tarafından ayrılmış anahtar sözcükleri belirler Veritabanı Altyapısı. Aşağıdaki tablo her Uyumluluk düzeyleri tarafından sunulan ayrılmış anahtar sözcükleri gösterir.

Uyumluluk düzeyi ayarı

Ayrılmış anahtar sözcükleri

110

GRUP, TRY_CONVERT, SEMANTICKEYPHRASETABLE, SEMANTICSIMILARITYDETAILSTABLE, SEMANTICSIMILARITYTABLE İÇİNDE

100

KÜP, BİRLEŞTİRME, TOPLAMA

90

HARİCİ, ÖZET, UNPIVOT, DÖNMEK, TABLESAMPLE

Verilen uyumluluk düzeyinde, tüm anahtar kelimeler veya bu düzeyin altındaki tanıttı ayrılmış anahtar sözcükleri içerir. Böylece, örneğin, 110 düzeyinde uygulamalar için tüm yukarıdaki tabloda listelenen anahtar kelimeler aittir. Alt uyumluluk düzeyinde geçerli nesne adlarını düzeyi-100 anahtar kelime kalır, ancak bu anahtar kelimeler için karşılık gelen düzeyi-110 dil özellikleri kullanılamaz.

Bir kez tanıttı, bir anahtar kelime ayrılmış olarak kalır. Örneğin, ayrılmış anahtar sözcüğü uyumluluk düzeyi 90 tanıtılan, PIVOT da seviyeleri 100 ve 110 ayrılmıştır.

Bir uygulama, uyumluluk düzeyi için bir anahtar kelime olarak ayrılmış tanımlayıcı kullanıyorsa, uygulama başarısız olur. Bu sorunu gidermek için tanımlayıcı arasında ya da parantez içine alın ([]) veya tırnak işaretleri (""); Örneğin, uygulama yükseltme için tanımlayıcı kullanan dış uyumluluk düzeyi 90, tanımlayıcı olarak değişebilir [dış] ya "dış".

Daha fazla bilgi için, bkz. Ayrılmış anahtar sözcükler (Transact-sql).

İzinler

alter veritabanı izni gerektirir.

Örnekler

A.Uyumluluk düzeyini değiştirme

Aşağıdaki örnek uyumluluk düzeyini değiştirir AdventureWorks2012 veritabanı 110, SQL Server 2012.

ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 110;
GO

ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 110;
GO

Ayrıca bkz.

Başvuru

alter veritabanı (Transact-sql)

Ayrılmış anahtar sözcükler (Transact-sql)

Veritabanı (Transact-sql) oluştur

databasepropertyex (Transact-sql)

sys.Databases (Transact-sql)

sys.database_files (Transact-sql)