Uyumluluk görünümleri (Transact-sql)
Önceki sürümleri sistem tablolarından çok SQL ServerŞimdi bir görünüm kümesi uygulanmaktadır. Bu görünümler uyumluluk görünümleri bilinir ve yalnızca geriye dönük uyumluluk için içindir. Uyumluluk görünümleri bulunan aynı meta verileri açığa SQL Server 2000. Ancak, uyumluluk görünümleri biri olarak sunulan özellikler ile ilgili meta verileri maruz bırakmayın SQL Server 2005ve sonrası. Bu nedenle, kullandığınızda yeni özellikleri gibi Service Brokerveya bölümleme, katalog görünümleri kullanarak geçmelisiniz.
Katalog görünümleri için yükseltmek için başka bir kullanıcı kimliklerini saklamak ve kimliklerini yazın uyumluluğu görünümü sütunlar null döndürebilir veya tetikleyici aritmetik overflow nedenidir. Bunun nedeni, daha fazla 32.767 kullanıcıları, grupları ve rolleri ve 32.767 veri türleri oluşturabilirsiniz. Örneğin 32.768 kullanıcılar oluşturmak ve daha sonra aşağıdaki sorguyu çalıştırmak vardı: SELECT * FROM sys.sysusers. ARITHABORT on olarak ayarlanmışsa, sorgu bir Aritmetik Taşma hata ile başarısız olur. ARITHABORT off için ayarlanmış uid sütun null döndürür.
Bu sorunları önlemek için kullanıcı kimlikleri artan sayıda işleyecek ve kimliklerini yazın yeni katalog görünümleri kullanmanızı öneririz. Aşağıdaki tabloda, bu taşma tabi olan sütunları listeler.
Sütun adı |
Uyumluluk Görünümü |
SQL Server 2005 görünümü |
---|---|---|
xusertype |
syscolumns |
sys.Columns |
UserType |
syscolumns |
sys.Columns |
memberuid |
Sysmembers |
sys.database_role_members |
groupuid |
Sysmembers |
sys.database_role_members |
uid |
sysobjects |
sys.Objects |
uid |
sysprotects |
|
grantor |
sysprotects |
|
xusertype |
systypes |
sys.types |
uid |
systypes |
sys.types |
uid |
sysusers |
sys.database_principals |
altuid |
sysusers |
sys.database_principals |
GID |
sysusers |
sys.database_principals |
uid |
syscacheobjects |
kullanınsys.dm_exec_plan_attributesTetikleyici |
uid |
sysprocesses |
sys.dm_exec_requests |