Aracılığıyla paylaş


En son SQL Server 2008'de veritabanı altyapısı özellikleri değişiklikleri

Bu konuda en son değişiklikleri açıklarDatabase Engine.Bu değişiklikler, uygulamalar, komut dosyalarını veya önceki sürümlerinde esas alan işlevleri kesme SQL Server. Yükseltme sırasında bu sorunlarla karşılaşabilir.Daha fazla bilgi için bkz: Yükseltme için hazırlama için Yükseltme Danışmanı'nı kullanma.

Alfabe

Özellik

Açıklama

Yeni alfabe

SQL Server 2008 Windows Server 2008 tarafından sağlanan alfabe ile tam hizalama olan yeni alfabe düzenlerini içerir.80 Bu yeni alfabe düzenlerinden dil doğruluğunu geliştirilmiş ve tarafından belirtilen * _100 sürüm başvuru.Sunucunuz veya veritabanı için yeni bir harmanlama seçin, harmanlamayı eski istemci sürücülerini istemciler tarafından tanınmayabilir olduğunu 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:

  • Temel sistem alfabe güncelleştirilir, istemci işletim sistemini yükseltin.

  • Veritabanı istemci yazılımı yüklü olduğu istemci düşünün uygulama bir hizmet güncelleştirmesi veritabanı istemci yazılımı.

  • Kod sayfa istemcide eşler varolan bir harmanlama seçin.

Daha fazla bilgi için bkz: Harmanlamalar değiştirme ve ayarlama.

Common Language Runtime (CLR)

Özellik

Açıklama

CLR derlemeler

When a database is upgraded to SQL Server 2008, the Microsoft.SqlServer.Types assembly to support new data types is automatically installed.Yükseltme Danışmanı'nı kuralları, herhangi bir kullanıcı türünü veya çakışan adlı derleme algılar.Yükseltme Danışmanı'nı, çakışan bir derleme ve çakışan her türlü yeniden yeniden adlandırmak veya iki parça adlar için hazır, kullanıcı türünü belirtmek için kod kullanarak bildirmek.

Veritabanı yükseltmesini çakışan bir adı olan bir kullanıcı derleme algılarsa, otomatik olarak bu derleme yeniden adlandırın ve veritabanını şüpheli moduna sokun.

Yükseltme sırasında çakışan bir adı olan bir kullanıcı tipi varsa, hiçbir özel adımlar alınır.Yükseltmenin ardından, hem eski kullanıcı türü hem de yeni sistem türü yer alır.Kullanıcı türü yalnızca iki parça adları yoluyla kullanılabilir.

CLR derlemeler

SQL Server 2008 kütüphaneler Genel Derleme Önbelleği (GAC) içinde güncelleştirir .NET Framework 3.5 SP1 yüklenir.Kayıtlı kitaplıklar desteklenmeyen durumunda birSQL Serververitabanı,SQL ServerUygulama çalışırken yükseltmeden sonra vermeyebilirSQL Server 2008.Bu, çünkü hizmet veya yükseltme GAC kitaplıklarında değil güncelleştirme derleme içindeSQL Server.Derleme içindeki her ikisi de varsa, birSQL Serververitabanı ve, GAC içinde derleme iki kopyası gerekir tam eşleşme.Varsa bunlar eşleşmiyor, hata oluşur, derleme tarafından kullanılırSQL ServerCLR entegrasyonu.Daha fazla bilgi için bkz: Desteklenen bir .NET Framework kitaplıkları.

Veritabanını yükselttikten sonra hizmet veya derleme kopyasını yükseltmek,SQL Serververitabanlarında ALTER ASSEMBLY deyim.Daha fazla bilgi için bkz:Bilgi Bankası makalesi 949080.

Desteklenmeyen bir .NET framework kitaplığı uygulamanızda kullandığınız olup olmadığını algılamak için veritabanınızdaki aşağıdaki sorguyu çalıştırın.

SELECT name FROM sys.assemblies WHERE clr_name LIKE '%publickeytoken=b03f5f7f11d50a3a,%';

CLR yordamları

İç CLR kullanıcı tanımlı işlevler, kimliğe bürünme kullanan toplayan, kullanıcı tarafından tanımlanmış veya kullanıcı tanımlı türler (UDTs) neden olabilir, uygulamayı yükselttikten 6522 hatasıyla başarısızSQL Server 2008.

Aşağıdaki senaryolarda başarısız olarakSQL Server 2005ancak başarısızSQL Server 2008.Her senaryo için çözüm sağlanır.

  1. Kullanıcı tanımlı bir CLR işlev, kullanıcı tanımlı toplamak veya kimliğe bürünme kullanan UDT yöntem türünde bir parametre olannvarchar(max),varchar(max),varbinary(max),ntext,text,image, ya da büyük bir UDT yoktur veDataAccessKind.Read özniteliği yönteme.

    Bu sorunu gidermek için eklemeDataAccessKind.Read öznitelik yöntem, yeniden derleme ve sıradan ve derleme. re-dağıtmak

  2. Olan bir CLR tablo değerli işlev birBaşlatma gerçekleştiren kimliğe bürünme. yöntem

    Ekleme bu sorunu gidermek içinDataAccessKind.Read öznitelik yöntem, yeniden derleme ve sıradan ve derleme. re-dağıtmak

  3. Olan bir CLR tablo değerli işlev birFillRow gerçekleştiren kimliğe bürünme. yöntem

    Bu sorunu gidermek için gelen kimliğe bürünme kaldırmakFillRow yöntem.Dış kaynaklar kullanarak erişim değilFillRow yöntem.Bunun yerine, dış kaynaklardan erişimBaşlatma yöntem.

Dinamik yönetim görünümleri

View

Açıklama

sys.dm_os_sys_info

The cpu_ticks_in_ms kaldırıldı ve sqlserver_start_time_cpu_ticks sütunları.

sys.dm_exec_query_resource_semaphores sys.dm_exec_query_memory_grants

Resource_semaphore_id sütun ise, benzersiz bir kimlik yokSQL 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ı

InSQL Server 200518452 hata döndürülür, yapılandırılmış kullanmak sunucuya bağlanmak için kullanılan SQL oturum açma yalnızca Windows kimlik doğrulaması.InSQL Server 2008, hata 18456 yerine döndürdü.

gösterim planı

Özellik

Açıklama

gösterim planı XML şeması

Yeni birSeekPredicateNew öğesi gösterim planı XML şemaya eklenir ve kapsayan xsd sırası ( SqlPredicatesType) <xsd:choice >öğe. dönüştürülür. Bir veya daha fazla yerineSeekPredicate öğeleri SeekPredicateNew öğelerini bir veya daha fazla şimdi görüntülenebilir gösterim planı XML. İki öğe birlikte kullanılamaz.SeekPredicate korunduğu için gösterim planı XML şemasını, geriye dönük uyumluluk; ancak, içinde oluşturulan sorgu planları SQL Server 2008içerebilir SeekPredicateNew öğesini.Yalnızca almak için uygulamalarSeekPredicate ShowPlanXML/BatchSequence/toplu iş/Statements/StmtSimple/QueryPlan/RelOp/IndexScan/SeekPredicates düğümünden alt SeekPredicate öğe yoksa başarısız olabilir.Beklediğiniz ya da uygulamayı yenidenSeekPredicate ya da bu düğümü. SeekPredicateNew öğesi Daha fazla bilgi için bkz: Sorgu bölümlendirilmiş tablolar ve dizinler üzerinde geliştirmeler işleme.

gösterim planı XML şeması

Yeni birIndexKind öznitelik NesneTürü gösterim planı XML şemasını. karmaşık türü eklenir Uygulamalar, kesinlikle doğrulaSQL Serverkarşı planlarSQL Server 2005şema olacak başarısız.

Transact-SQL

Özellik

Açıklama

Olay ALTER_AUTHORIZATION_DATABASE DDL

InSQL Server 2005, ALTER_AUTHORIZATION_DATABASE DDL olayı, değeri 'nesne' döndürülürNesneTürü EVENTDATA xml bu olay güvenlik veri tanımlama dili (DDL) işleminde varlık türü, bir nesnenin. öğesi InSQL Server 2008, gerçek türüdür (örneğin, 'tablo' veya 'işlev') döndürülür.

DÖNÜŞTÜRME

Geçersiz bir stili Çevir işlevine geçirilen, ikili karakter veya karakter ikiliye dönüştürme türü, bir hata döndürdü.Önceki sürümlerindeSQL Server, geçersiz stil küme varsayılan stil için ikili karakter ve karakter ikiliye dönüştürme için

GRANT/REVOKE/DENY yürütmek birleştirmeler hakkında

yürütmek izni olamaz verilen, engellenen veya derlemeler için İptal.Bu izin, hiçbir etkisi vardır ve artık hataya neden olur.Verme, reddetme veya derleme yöntem yerine başvuru fonksiyonlar ve saklı yordamlar üzerinde yürütmek iznini.

DENY/GRANT/REVOKE sistemi türlerini izinler

İzinleri olamaz verilen, engellenen veya sistem türleri için İptal.Önceki sürümlerindeSQL ServerBu ifadeler başarılı fakat sahip hiçbir etkisi.InSQL Server 2008, bir hata döndürdü.

OUTPUT yan tümce

Çıktı nondeterministic davranışı önlemek için yan tümce sütun bu sütun aşağıdaki yöntemlerden birini kullanarak tanımlandığında bir görünüm veya satır içi tablo değerli işlev başvuru yapamazsınız:

  • Alt sorgu.

  • Kullanıcı veya sistem veri erişimi gerçekleştiren veya erişimin gerçekleştirmek için kabul edilir, kullanıcı tanımlı bir işlev.

  • Bir hesaplanan sütun içeren tanımını, kullanıcı tanımlı bir işlev gerçekleştirir, kullanıcı veya sistem veri erişimi.

Ne zaman SQL Server ÇıKTıDA sütun gibi algılar yan tümce, hata 4186 oluşturulur. Daha fazla bilgi için bkz: MSSQLSERVER_4186.

İÇİNE ÇIKTI yan tümce

Tüm etkin tetikleyiciler OUTPUT INTO yan hedef tablosu olamaz.

Arama sunucusu - precompute düzey seçeneği

Bu seçenek desteklenmiyorSQL Server 2008.Bu özellik şu anda bir sürede kullanan uygulamalar değiştirin.

READPAST tablo İpucu

READ_COMMITTED_SNAPSHOT veritabanı seçeneği olduğunda READPAST tablonun İpucu belirtilemez küme açık ve aşağıdaki koşullardan biri doğru olduğunda:

  • Oturumun işlem yalıtım düzey READ kaydedilmiş olur.

  • The READCOMMITTED tablo ipucu da belirtilen sorgu.

Bu gibi durumlarda READPAST ipucunu belirtmek için READCOMMITTED tablo İpucu varsa kaldırın ve READCOMMITTEDLOCK tablonun İpucu sorguya dahil.

sp_helpuser

Sp_helpuser depolanmış yordamın sonuç kümesinde döndürülen aşağıdaki sütun adları değişti.

Önceki sütun adıYeni bir sütun adı
GrupAdıRol adı
Grup_adıRole_name
Group_idRole_id
Users_in_groupUsers_in_role

Saydam veri şifreleme

Saydam veri şifrelemesi (TDE) g/Ç düzeyinde gerçekleştirilir: Sayfa yapısını belleğe şifresiz ve yalnızca sayfa yazıldığında disk. için şifreli Veritabanı dosyalarının ve günlük dosyaları şifrelenir.Üçüncü taraf uygulamaları normal AtlaSQL Serversayfa (örneğin, veri veya günlük dosyalarını doğrudan tarama), erişim mekanizması başarısız olacaktır, çünkü veri dosyaları. şifrelenmiş bir veritabanı kullanır TDEBu tür uygulamalar dışında verilerin şifresini çözmek için bir çözüm geliştirmek için Windows Şifreleme API kullananSQL Server.

XQuery

Özellik

Açıklama

Tarih Saat destek

InSQL Server 2005veri türlerixs:time,xs:date, vexs:dateTimeyok saat destek.Saat verileri için UTC saat eşleşir.SQL Server 2008, standart uyumlu davranış, aşağıdaki değişiklikleri sonucu sağlar:

  • Saat olmadan değerleri doğrulanır.

  • Sağlanan saat veya bir saat yokluğunu korunur.

  • Dahili depolama gösterimi değiştirilir.

  • Depolanan çözünürlüğü artar.

  • Negatif yıllık izin verilmez.

Yeni türü değerleri hesap için uygulamaları ve XQuery ifadeleri değiştirin.Daha fazla bilgi için bkz: XML, saat, tarih, datetime2 ve datetimeoffset veri türleri ile kullanma.

XQuery ve XPath deyimleri

InSQL Server 2005, iki nokta üst üste ile başlayan bir XQuery veya XPath ifade de adımları (': ') izin verilen. Örneğin, aşağıdaki ifade adı test içerir ( CTR02)içinde iki nokta üst üste. başlayan yol ifade

SELECT FileContext.query('for n$ in //CTR return <C>{data )(n$/:CTR02)} </C>) AS Files FROM dbo.MyTable;

InSQL Server 2008çünkü bunu. uygun XML standartları. Bu kullanım izni,Hata 9341 oluşur.İki nokta üst üste satır aralığı kaldırma veya adını test--örneğin, (n $ / CTR02) için bir önek belirtin ya da (n $ / p1:CTR02).

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Değişiklik için XQuery ve XPath deyimleri sonu eklenir.