En son değişiklikleri SQL Server 2012 veritabanı altyapısı özellikleri
Bu konu en son değişiklikleri açıklar SQL Server 2012 Veritabanı Altyapısıve önceki sürümlerinde SQL Server. Bu değişiklikler, uygulamalar, komut dosyaları veya daha önceki sürümleri üzerinde temel işlevleri bozabilir SQL Server. Yükseltme sırasında bu sorunlarla karşılaşabilirsiniz. Daha fazla bilgi için, bkz. Yükseltmelere Hazırlanmak için Yükseltme Danışmanı'nı Kullanın.
Bu Konuda
SQL Server'da 2012 değişiklikleri kesiliyor
SQL Server 2008 ve SQL Server 2008R2 içinde değişiklikleri kesiliyor
SQL Server'da 2005 değişiklikleri kesiliyor
Değişiklikleri kesiliyorSQL Server 2012
Transact-SQL
Özellik |
Açıklama |
---|---|
Sütun veya adlı tabloları seçmeNEXT |
Dizileri sonraki değeri için ANSI standart işlevini kullanın. Bir tablo veya sütun ise NEXTve tablo veya sütun takma ad olarak VALUE, ANSI standart as belirtilmemişse, sonuç deyimi hata neden olabilir. Geçici bir çözüm bulmak için ANSI dahil standart anahtar kelime olarak. Örneğin, SELECT NEXT VALUE FROM Tableolarak yeniden yazılması SELECT NEXT AS VALUE FROM Tableve SELECT Col1 FROM NEXT VALUEolarak yeniden yazılması SELECT Col1 FROM NEXT AS VALUE. |
PIVOT işlecini |
Veritabanı uyumluluk düzeyi için 110 ayarlandığında PIVOT işlecini özyinelemeli ortak tablo ifade (cte) sorgu içinde izin verilmez. 100 Ya da daha düşük uyumluluk düzeyini değiştirmek veya sorguyu yeniden yazın. Tek bir satır başına gruplandırma fazla olduğunda özyinelemeli cte sorguda PIVOT kullanarak hatalı sonuçlar üretir. |
sp_setapprole ve sp_unsetapprole |
Çerez OUTPUTparametresi sp_setapproleŞu anda olarak belgelenen varbinary(8000)doğru en fazla uzunluk olan. Ancak geçerli uygulama döndürür varbinary(50). Uygulamalar devam ayrılacak varbinary(8000)böylece çerez boyutu artar bir sürümde dönerseniz düzgün çalışması uygulama devam ediyor. Daha fazla bilgi için, bkz. sp_setapprole (Transact-sql). |
EXECUTE AS |
execute as çerez çıkış parametresi olarak belgelenen varbinary(8000)doğru en fazla uzunluk olan. Ancak geçerli uygulama döndürür varbinary(100). Uygulamalar devam ayrılacak varbinary(8000)böylece çerez boyutu artar bir sürümde dönerseniz düzgün çalışması uygulama devam ediyor. Daha fazla bilgi için, bkz. execute (Transact-sql). |
sys.fn_get_audit_file işlevi |
İki ek sütunlar (user_defined_event_id ve user_defined_information) kullanıcı tanımlı denetim olayları desteklemek üzere eklenmiştir. Sütun adı tarafından seçmeyin uygulamaları, beklenenden daha fazla sütun döndürebilir. Sütun adını seçin ya da uygulamayı kabul Bu ek sütunlar ayarlayın. |
İÇİNDE ayrılmış bir anahtar sözcük |
İÇİNDE ayrılmış bir anahtar sözcük artık. Nesneleri veya 'içinde' adlı sütun başvuruları başarısız olur. Nesne veya sütun adını yeniden adlandırmak veya adı köşeli ayraçlar veya tırnak işaretleri kullanarak sınırlandırmak. Örneğin, SELECT * FROM [within]. |
cast ve convert işlemleri hesaplanan sütun türü timeveyadatetime2 |
Önceki sürümlerinde SQL Server, 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. Uyumluluk düzeyi 110 kapsamında, time ve datetime2 veri türlerinin CAST ve CONVERT işlemlerinin varsayılan stili her zaman 121'dir. 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. |
ALTER TABLE |
ALTER TABLE deyimi yalnızca iki parçalı (şema.nesne) tablo adlarına izin verir. Şimdi aşağıdaki biçimleri kullanarak bir tablo adı belirterek, derleme zamanı hatası 117 ile başarısız olur.
Önceki sürümlerde, sunucu.veritabanı.şema.tablo biçimini belirtmek 4902 hatasını döndürüyordu. .veritabanı.şema.tablo veya ..şema.tablo biçimini belirtmek başarılı oluyordu. Sorunu çözmek için, 4 parçalı öneki kaldırın. |
Meta veri tarama |
GÖZATMAK veya set no_browsetable on şimdi istimal görünüm sorgulama görünümü, değil alttaki nesne meta meta veri döndürür. Bu davranış, şimdi meta tarama diğer yöntemleri eşleşir. |
SOUNDEX |
Veritabanı uyumluluk düzeyi altında 110, soundex işlev önceki Uyumluluk düzeyleri altında hesaplanan değerlerden farklı işlevi tarafından hesaplanan değerleri neden olabilecek yeni kurallar uygular. 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). |
Satır sayısı iletisi başarısız dml deyimleri |
De SQL Server 2012, Veritabanı AltyapısıRowCount tds bitmiş belirteciyle sürekli olarak gönderecektir: dml deyimi hata verdiğinde istemcilerine 0. Önceki sürümlerinde SQL Server, dml deyimi başarısız bir try-catch bloğu içinde yer alan ve her iki autoparameterized tarafından -1 yanlış değerini istemciye gönderilir Veritabanı Altyapısıya da try-catch bloğu başarısız ifadesi olarak aynı düzeyde değildir. Örneğin, bir try-catch bloğu saklı yordam çağrıları ve dml deyimini yordamı başarısız olursa, istemci yanlış-1 değerini alırsınız. Bu yanlış davranış kullanan uygulamalar başarısız olur. |
serverproperty ('baskı') |
Örneği sürümü yüklü ürün SQL Server 2012. Bu özelliğin değeri, özellikleri ve maksimum yüklü ürün tarafından desteklenen CPU sayısı gibi sınırlamalar belirlemek için kullanın. Yüklü Enterprise edition tabanlı, bu 'Enterprise Edition' döndürebilir veya ' Enterprise Edition: çekirdek tabanlı lisans '. Enterprise sürümleri maksimum hesaplama kapasitesine bağlı tek bir örneği farklılaşmış SQL Server. Compute kapasite sınırları hakkında daha fazla bilgi SQL Server 2012bakın Kapasite sınırlarını SQL Server sürümü tarafından hesaplaması. |
Dinamik yönetim görünümleri
Görünüm |
Açıklama |
---|---|
sys.dm_exec_requests |
Komut sütunu değiştirir nvarchar(16)için nvarchar(32). |
sys.dm_os_memory_cache_counters |
Aşağıdaki sütunları yeniden adlandırılmıştır.
Önceki sütun adıYeni sütun adı
single_pages_kbpages_kb
multi_pages_kbpages_in_use_kb
|
sys.dm_os_memory_cache_entries |
Sütun pages_allocated_countsütun değiştirildi pages_kb. |
sys.dm_os_memory_clerks |
Sütun multi_pages_in_use_kbkaldırıldı. Sütun single_pages_kbsütun değiştirildi pages_kb. |
sys.dm_os_memory_nodes |
Aşağıdaki sütunları yeniden adlandırılmıştır.
Önceki sütun adıYeni sütun adı
single_pages_kbpages_kb
multi_pages_kbforeign_committed_kb
|
sys.dm_os_memory_objects |
Aşağıdaki sütunları yeniden adlandırılmıştır.
Önceki sütun adıYeni sütun adı
pages_allocated_countpages_in_bytes
max_pages_allocated_countmax_pages_in_bytes
|
sys.dm_os_sys_info |
Aşağıdaki sütunları yeniden adlandırılmıştır.
Önceki sütun adıYeni sütun adı
physical_memory_in_bytesphysical_memory_kb
bpool_commit_targetcommitted_target_kb
bpool_visiblevisible_target_kb
virtual_memory_in_bytesvirtual_memory_kb
bpool_commitedcommitted_kb
|
sys.dm_os_workers |
Yerel sütun kaldırıldı. |
Katalog görünümleri
Görünüm |
Açıklama |
---|---|
sys.data_spaces sys.partition_schemes filegroup_namesys.filegroups sys.partition_functions |
Yeni bir sütun, is_system, sys.data_spaces ve sys.partition_functions eklendi. (sys.partition_schemes ve filegroup_namesys.filegroups sys.data_spaces sütunları devralır.) Bu sütunda 1 değeri, nesnenin tam metin dizini parçaları için kullanıldığını gösterir. Sys.partition_functions, sys.partition_schemes ve filegroup_namesys.filegroups, yeni bir sütun son sütun değil. Bu katalog görünümlerinden döndürülen sütunlar sırasına dayanan varolan sorguları gözden geçirebilirsiniz. |
sql clr veri türü (geometri, Coğrafya ve hierarchyid)
Derleme Microsoft.SqlServer.Types.dll, kayma veri türleri ve hierarchyid türü içeren yükseltilmiş sürüm 10.0 sürümü 11.0. Aşağıdaki koşullar doğru olduğunda bu derleme başvurusu özel uygulamalar başarısız olabilir.
Taşıdığınızda özel bir uygulama bir bilgisayar üzerinde SQL Server 2008 R2olan yalnızca bir bilgisayara yüklendiği SQL Server 2012ise yüklü uygulama başarısız olacaktır, çünkü 10.0 başvurulan sürümü SqlTypes derleme mevcut değil. Bu hata iletisini alabilirsiniz:“Could not load file or assembly 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.”
Başvuru yaptığınızda SqlTypes derleme sürümü 11.0 ve sürüm 10.0 da yüklü, bu hata iletisini alabilirsiniz:“System.InvalidCastException: Unable to cast object of type 'Microsoft.SqlServer.Types.SqlGeometry' to type 'Microsoft.SqlServer.Types.SqlGeometry'.”
Başvuru yaptığınızda SqlTypes derleme sürümü 11.0 hedefleyen özel bir uygulama.net 3.5, 4 ya da 4.5, SqlClient tasarım derleme 10.0 sürümü yükler için uygulama başarısız olur. Uygulama aşağıdaki yöntemlerden birini aradığında bu hata oluşur:
GetValueyöntemi SqlDataReadersınıfı
GetValuesyöntemi SqlDataReadersınıfı
köşeli, dizin operator [] SqlDataReadersınıfı
ExecuteScalaryöntemi SqlCommandsınıfı
Aşağıdaki yöntemlerden birini kullanarak bu soruna geçici çözüm bulabilirsiniz:
Arayarak kodunuzda bu sorunu çözmek GetSqlBytesyöntemi, Get yöntemleri yerine clr almak için yukarıda listelenen SQL Serversistem türleri, aşağıdaki örnekte gösterildiği gibi:
string query = "SELECT [SpatialColumn] FROM [SpatialTable]"; using (SqlConnection conn = new SqlConnection("...")) { SqlCommand cmd = new SqlCommand(query, conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // In version 11.0 only SqlGeometry g = SqlGeometry.Deserialize(reader.GetSqlBytes(0)); // In version 10.0 or 11.0 SqlGeometry g2 = new SqlGeometry(); g.Read(new BinaryReader(reader.GetSqlBytes(0).Stream)); } }
string query = "SELECT [SpatialColumn] FROM [SpatialTable]"; using (SqlConnection conn = new SqlConnection("...")) { SqlCommand cmd = new SqlCommand(query, conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // In version 11.0 only SqlGeometry g = SqlGeometry.Deserialize(reader.GetSqlBytes(0)); // In version 10.0 or 11.0 SqlGeometry g2 = new SqlGeometry(); g.Read(new BinaryReader(reader.GetSqlBytes(0).Stream)); } }
Size bu sorunu uygulama yapılandırma dosyasında, Kurul yeniden yönlendirme kullanarak aşağıdaki örnekte gösterildiği gibi çalışabilirsiniz:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> ... <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" /> </dependentAssembly> ... </assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> ... <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" /> </dependentAssembly> ... </assemblyBinding>
"SQL Server 2012" değeri belirterek bu soruna geçici bir çözüm için bağlantı dizesinde çalışabilirsiniz "Type System Version için" SqlClient derleme 11.0 sürümü yüklemeye zorlamak için özniteliği. Bu bağlantı dizesi özniteliği, yalnızca kullanılabilir.net 4,5 ve üzeri.
awe desteği
32-bit Adres Pencereleme Uzantıları (awe) destek kesilir. Bu 32-bit işletim sistemlerinde daha yavaş performans sonuçlanabilir. Büyük miktarlarda bellek kullanarak yüklemeleri için 64-bit bir işletim sistemine geçirmek.
XQuery işlevler vekil-farkında
XQuery işlevler ve işleçler için W3C önerisi onları yüksek aralığı Unicode karakter kodlama utf-16 tek bir simge olarak temsil eden bir yedek çifti saymak gerekir. Ancak sürümlerinde SQL Serverönce SQL Server 2012, dize işlevlerinin değil tanımak vekil çiftleri tek bir karakter olarak. Dize uzunluğu hesaplamaları ve alt dize ayıklamaları – gibi bazı dize işlemleri – yanlış sonuç döndürdü. SQL Server 2012Şimdi tam utf-16 ve vekil çiftleri doğru işlenmesini destekler.
xml veri türü olarak SQL Serveryalnızca doğru biçimlendirilmiş vekil çiftleri verir. XQuery işlevler dize değerleri olarak geçersiz ya da kısmi vekil çiftleri geçmek mümkün olduğundan ancak bazı işlevleri hala tanımlanmamış veya beklenmeyen sonuçlar bazı durumlarda dönebilirsiniz. Dize değerleri XQuery kullanarak oluşturmak için aşağıdaki yöntemleri deneyin SQL Server:
Sabit dize değeri, ikili değer sağlar. Bu yöntemi kullanırken, geçersiz ya da kısmi vekil çiftleri aktarmak mümkün kalır.
Sabit dize değeri, karakter varlıkları sağlayarak sağlar. Bu yöntemi kullanırken, geçersiz vekil çiftleri geçmek mümkün değildir. XQuery işlevler, üst düzey karakteri için bir tek karakter varlığı gerekir. Vekil çifti karakterleri karakter varlıkları verdiyse bu işlevlerin bir hata yükseltmek.
İthalat Dış değerlerini kullanarak sql:column ya sql:variable. Bu yöntemi kullanırken, geçersiz ya da kısmi vekil çiftleri tanıtmak mümkün kalır.
Etkilenen XQuery işlevler ve işleçler
Şimdi aşağıdaki XQuery işlevler ve işleçler utf-16 temsilci çiftleri doğru içinde ele SQL Server 2012:
FN:String-uzunluk. Ancak, argüman olarak, davranışını geçersiz ya da kısmi yedek çifti aktarılırsa dize uzunluğu tanımsızdır.
FN:substring.
FN: içeren. Ancak, eğer bir kısmi yedek çifti bir değer olarak, geçmiş içeren daha iyi biçimlendirilmiş yedek çifti içinde bulunan kısmi yedek çifti gelebilir çünkü beklenmeyen sonuçlar döndürebilir.
FN:concat. Ancak, eğer bir kısmi yedek çifti bir değer olarak, geçmiş concat yanlış temsilci çiftleri veya kısmi vekil çiftleri üretebilir.
Karşılaştırma işleçleri ve tarafindan tümcesi. Comparison operators include +, <, >, <=, >=, eq, lt, gt, le, and ge.
Dağıtılmış sorgu sistem yordam çağrıları
Dağıtılmış sorgu aramaları ile OPENQUERYbazı sistem yordamları biri çağrıldığında başarısız olur SQL Server 2012başka bir sunucuya. Bu durumda ne zaman Veritabanı Altyapısıkeşif meta veri yordamı olamaz. Örneğin, SELECT * FROM OPENQUERY(..., 'EXEC xp_loginfo').
Geriye dönük uyumluluk
Yeni davranış uyumluluk düzeyine bağlıdır
Aşağıdaki işlevler ve işleçler yalnızca Uyumluluk düzeyi 110 olduğunda yukarıda açıklanan veya daha yüksek yeni bir davranış gösterilmektedir:
FN: içeren.
FN:concat.
Karşılaştırma işleçleri ve tarafindan yan tümcesi
Yeni davranış varsayılan ad alanı URI işlevleri bağlıdır
Aşağıdaki işlevler sadece aşağıdaki durumlarda varsayılan ad alanı URI ad alanında son önerisi, yani karşılık açıklanan yeni davranış göstermek http://www.w3.org/2005/xpath-functions. Uyumluluk düzeyi 110 veya daha yüksek olduğunda varsayılan sonra SQL Server 2012Bu ad alanına varsayılan işlev ad bağlar. Ancak uyumluluk düzeyi ne olursa olsun bu ad kullanıldığında bu işlevler yeni davranışı göstermektedir.
FN:String-uzunluk.
FN:substring
Başa dön
SQL Server 2008 ve SQL Server 2008R2 içinde değişiklikleri kesiliyor
Bu bölümde sunulan en son değişiklikleri içeren SQL Server 2008. Herhangi bir değişiklik olarak kullanılmaya başlanan SQL Server 2008 R2.
Alfabe
Özellik |
Açıklama |
---|---|
Yeni alfabe |
SQL Server 2008Windows Server 2008 tarafından sağlanan alfabe ile tam uyum içinde olan yeni alfabe tanıttı. Bu 80 yeni alfabe dilsel doğruluk düzeldi ve tarafından belirtilir * _100 sürümü başvuruları. Sunucu veya veritabanı için yeni bir harmanlama seçin, harmanlama eski istemci sürücülerine sahip istemciler tarafından tanınmıyor unutmayın. Tanınmayan alfabe uygulamanın hata döndürür ve başarısız olmasına neden olabilir. Aşağıdaki çözümleri deneyin:
|
Ortak dil çalışma zamanı (clr)
Özellik |
Açıklama |
---|---|
clr birleştirmeler |
Ne zaman bir veritabanı yükseltilmiş için SQL Server 2008, Microsoft.SqlServer.TypesYeni veri türlerini desteklemek için derleme otomatik olarak yüklenir. Yükseltme Danışmanı kuralları, kullanıcı türü veya montajları ile Çakışan adlar bulmak. Yükseltme Danışmanı'nı, çakışan herhangi bir montaj ve çelişen her türlü yeniden adlandırma yeniden adlandırmayı veya önceden varolan kullanıcı türü için başvurmak için kodu Şemaiki bölümü adları kullanarak bildirecektir. Veritabanı yükseltme çakışan bir ada sahip bir kullanıcı derleme algılarsa, bunu otomatik olarak bu birleştirmeyi yeniden adlandırmak ve şüpheli moduna veritabanı. Çakışan ada sahip bir kullanıcı türü yükseltme sırasında varsa, hiçbir özel adımlar alınır. Yükseltmeden sonra eski kullanıcı türünü hem yeni sistem türü yer alır. Kullanıcı türü yalnızca iki bölüm adları yoluyla kullanılabilir. |
clr birleştirmeler |
SQL Server 2008yükler.net Framework 3.5 SP1, kütüphaneler genel derleme önbelleği (gac) de güncelleştirir. Eğer kayıtlı kitaplıklar desteklenmeyen bir SQL Serververitabanı, senin SQL Serveruygulama için yükselttikten sonra çalışmamaya başlayabilir SQL Server 2008. Çünkü hizmet veya gac kitaplıklarda yükseltme değil güncelleştirmek derlemelerin içinde SQL Server. Derleme her ikisi de varsa, bir SQL Serververitabanı ve GAC'de iki bol-in derleme tam olarak eşleşmelidir. Onlar eşleşmiyorsa, meclis tarafından kullanıldığında bir hata oluşacaktır SQL Serverclr tümleştirme. Daha fazla bilgi için, bkz. Desteklenen.net Framework kitaplıkları. Veritabanı yükseltme yaptıktan sonra servis veya derleme kopyasını yükseltmek, SQL Serververitabanlarında alter assembly deyimi ile. Daha fazla bilgi için bkz: Bilgi Bankası makalesi 949080. Desteklenmeyen kullanıyorsanız olup olmadığını tespit etmek.net framework kitaplığı uygulamanızdaki veritabanınızdaki aşağıdaki sorguyu çalıştırın.
|
clr yordamları |
clr kullanıcı tanımlı işlevler, kullanıcı tanımlı toplamları veya kullanıcı tanımlı türler (UDTs) içinde kimliğe bürünme kullanılarak uygulamanız için yükseltme yaptıktan sonra hata 6522 başarısız olmasına neden olabilir SQL Server 2008. Aşağıdaki senaryolar başarılı SQL Server 2005ama başarısız olmasına SQL Server 2008. Kararlar, her senaryo için sağlanmıştır.
|
Dinamik yönetim görünümleri
Görünüm |
Açıklama |
---|---|
sys.dm_os_sys_info |
Kaldırılan cpu_ticks_in_msve sqlserver_start_time_cpu_tickssütun. |
sys.dm_exec_query_resource_semaphores sys.dm_exec_query_memory_grants |
resource_semaphore_idSütun değil benzersiz bir kimliği olduğunu SQL Server 2008. Bu değişiklik, sorun giderme sorgu yürütme etkileyebilir. Daha fazla bilgi için, bkz. sys.dm_exec_query_resource_semaphores (Transact-sql). |
Hataları ve olayları
Özellik |
Açıklama |
---|---|
Oturum açma hataları |
De SQL Server 2005, yalnızca Windows kimlik doğrulama kullanmak üzere yapılandırılmış bir sunucuya bağlanmak için sql oturum açma kullanıldığında hata 18452 geri döndü. De SQL Server 2008, hata 18456 yerine döndü. |
Showplan
Özellik |
Açıklama |
---|---|
Showplan xml şeması |
Yeni SeekPredicateNew öğesi eklenir Showplan xml şeması ve kapsayan xsd sırası (SqlPredicatesType) metne dönüştürülecek bir <xsd:choice > Madde. Bir veya daha fazla yerine SeekPredicate öğeleri, bir veya daha fazla SeekPredicateNew öğeleri şimdi Showplan xml biçiminde görünebilir. İki unsur birbirini dışlar. SeekPredicate Showplan xml şeması geriye uyumluluk; tutulur Ancak, sorgu planları oluşturulan SQL Server 2008içerebilir SeekPredicateNew öğesi. Sadece almak için beklemek uygulamaları SeekPredicate , çocuk ShowPlanXML/BatchSequence/toplu/ifadeler/StmtSimple/QueryPlan/RelOp/IndexScan/SeekPredicates düğüm başarısız olabilir SeekPredicate öğesi yok. Ya da beklemek için uygulamayı yeniden SeekPredicate ya SeekPredicateNew bu düğümü öğesi. Daha fazla bilgi için, bkz. . |
Showplan xml şeması |
Yeni IndexKind özniteliği için eklendi NesneTürü karmaşık tür Showplan xml şeması. Kesinlikle doğrulama uygulamaları SQL Serverplan-e karşı SQL Server 2005şema başarısız olur. |
Transact-SQL
Özellik |
Açıklama |
---|---|
ALTER_AUTHORIZATION_DATABASE ddl olay |
De SQL Server 2005, zaman ALTER_AUTHORIZATION_DATABASE ddl olay yangınlar, değer 'nesne' iade NesneTürü güvenilir veri tanım dili (ddl) işlemi de varlık türü bir nesne olduğunda bu olay eventdata xml öğesi. De SQL Server 2008, (örneğin, 'Tablo' veya 'function') gerçek bir tür döndürdü. |
DÖNÜŞTÜRME |
Geçersiz bir stil için çevir fonksiyonunu aktarılırsa, Dönüşüm türü karakter ya da karakter ikili ikili bir hata döndürülür. Önceki sürümlerinde SQL Server, geçersiz stil ikili karakter ve karakter ikili dönüşümleri için varsayılan stili ayarlanır. |
grant/reddetme/revoke yürütme üzerinde birleştirmeler |
execute izni can't verilen, reddedildi veya derlemeler için iptal edildi. Bu izin, herhangi bir etkisi yoktur ve şimdi bir hata neden olur. Vermek, reddetme veya saklı yordamlar veya derleme yöntemi yerine başvuru işlevler execute izni iptal. |
grant/reddetme/revoke izinler sistem türleri |
İzinleri can't verilen, reddedildi veya sistem türleri için iptal edildi. Önceki sürümlerinde SQL Server, bu ifadeler başarılı, ancak hiçbir etkisi. De SQL Server 2008, bir hata döndürdü. |
GÖRE GRUPLANDIR |
group by yan tümcesi alt sorgu için Grup listesi tarafından kullanılan bir deyim bulunamaz. Önceki sürümlerinde SQL Server, bu izin verildi. De SQL Server 2008, döndürülen hata 144. Örneğin, aşağıdaki kod SQL Server 2005'te başarılı ve SQL Server 2008'de başarısız.
|
output yan tümcesi |
Bu sütuna aşağıdaki yöntemlerden birini kullanarak tanımlandığında nondeterministic davranışı engellemek için output yan tümcesi bir sütun bir görünüm veya satır içi tablo değerli işlev başvuru yapamazsınız:
Ne zaman SQL Serverböyle bir sütunu algılar output yan tümcesinde hata 4186 oluşturulur. Daha fazla bilgi için, bkz. MSSQLSERVER_4186. |
output INTO yan |
output INTO yan hedef tablosu, tüm etkin tetikleyiciler olamaz. |
precompute rankSunucu düzeyinde seçeneği |
Bu seçenek desteklenmez SQL Server 2008. Şu anda en kısa zamanda bu özelliği kullanan uygulamalar değiştirin. |
readpast tablo ipucu |
Anlık yalıtım altında readpast İpucu belirtemezsiniz. READ_COMMITED_SNAPSHOT veya ALLOW_SNAPSHOT_ISOLATION veritabanı seçeneği on olarak ayarlandığında readpast İpucu sayılır. Ancak readpast İpucu READCOMMITTEDLOCK ile birleştirirseniz, readpast davranışı engelleme READCOMMITTED İpucu ile aynıdır. |
sp_helpuser |
Sonuç döndürdü aşağıdaki sütun adları kümesini, sp_helpusersaklı yordam değişti.
Önceki sütun adıYeni sütun adı
GroupNameRoleName
Group_nameRole_name
Group_idRole_id
Users_in_groupUsers_in_role
|
Saydam veri şifrelemesi |
Saydam veri şifrelemesi (tde) I/O düzeyinde gerçekleştirilir: sayfa yapısı belleğe şifresiz ve yalnızca sayfa yazıldığında şifreli disk. Günlük dosyası ve veritabanı dosya şifreli. Normal atlayan üçüncü taraf uygulamaları SQL Servermekanizma (örneğin, veri veya günlük dosyaları doğrudan tarama tarafından), sayfalarına erişmek için veritabanı tde kullandığında veri dosyaları şifreli olduğu için başarısız olur. Bu tür uygulamalar dışında verilerin şifresini çözmek için bir çözüm geliştirmek için pencere şifreleme API yararlanabilirim SQL Server. |
XQuery
Özellik |
Açıklama |
---|---|
DateTime desteği |
De SQL Server 2005, veri türlerini xs:time, xs:date, ve xs:dateTimedilimimi destek yok. Dilimimi veri için utc diliminin eşleştirilir. SQL Server 2008, standart uyumlu davranış, aşağıdaki değişiklikler sonucu sağlar:
Uygulamalar ve XQuery ifadeler yeni türü değerlerini hesaba değiştirin. |
XQuery ve Xpath deyimleri |
De SQL Server 2005, noktayla başlayan bir XQuery veya XPath ifade adımları (': ') izin. Örneğin, aşağıdaki deyim adı test içerir ( CTR02) Noktayla başlayan yol ifadesi içinde.
De SQL Server 2008, xml standartlarına uymuyor çünkü bu kullanım verilmedi. Hata 9341 döndürülür. Önde gelen kolon çıkarmak ya da adı test--Örneğin, (n$ / CTR02) için bir önek belirtin veya (n$ / p1:CTR02). |
Bağlanma
Özellik |
Açıklama |
---|---|
Bağlanırken SQL Serveryerel istemci ssl kullanarak |
İle bağlanırken SQL ServerNative Client, kullanan uygulamalar "sunucu kısa; = force ENCRYPTION = true " rahat doğrulama nedeniyle geçmişte olan konuların tam nitelikli etki alanı adlarıdır (fqdn)'ın belirtmek sertifika ile bağlı. SQL Server 2008 R2, fqdn özneler sertifikaları için zorlayarak güvenliğini artırır. Rahat doğrulama kullanan uygulamalar aşağıdaki eylemlerden birini gerçekleştirmeniz gerekir:
|
Başa dön
SQL Server'da 2005 değişiklikleri kesiliyor
Tanıtılan değişiklikleri sonu listesi için SQL Server 2005bakın SQL Server 2005 veritabanı altyapısı özellikleri değişiklikleri kırılma.
Ayrıca bkz.
Başvuru
SQL Server 2012 kaldırılmış veritabanı altyapısı özellikleri
SQL Server 2012 veritabanı altyapısı özellikleri davranışı değişiklikleri
SQL Server 2012'deki Discontinued Database Engine işlevsellik
alter database uyumluluk düzeyi (Transact-sql)