Compartilhar via


exibições de compatibilidade (Transact-SQL)

Muitas das tabelas do sistema de versões anteriores de SQL Server são implementadas agora como um conjunto de exibições. Essas exibições são conhecidas como exibições de compatibilidade e destinam-se à compatibilidade com versões anteriores apenas. As exibições de compatibilidade expõem os mesmos metadados disponíveis em SQL Server 2000. Entretanto, as exibições de compatibilidade não expõem quaisquer metadados relacionados a recursos introduzidos em SQL Server 2005 e posteriores. Sendo assim, quando você usa recursos novos, como Service Broker ou particionamento, você deve alternar para as exibições do catálogo.

Outro motivo para atualizar às exibições do catálogo é que as colunas de exibição de compatibilidade que armazenam identificações de usuário e de tipo podem retornar NULL ou estouros aritméticos de gatilho. Isto é porque você pode criar mais de 32.767 usuários, grupos e funções, e 32.767 tipos de dados. Por exemplo, se você criar 32.768 usuários e, então, executar a seguinte consulta: SELECT * FROM sys.sysusers. Se ARITHABORT for definido como ON, a consulta falhará com um erro de estouro aritmético. Se ARITHABORT for definido como OFF, a coluna uid retornará NULL.

Para evitar esses problemas, recomendamos que você use as novas exibições do catálogo que podem controlar o número maior de identificações de usuários e de tipo. A tabela a seguir lista as colunas sujeitas a esse estouro.

Nome da coluna

Exibição de compatibilidade

Exibição SQL Server 2005

xusertype

syscolumns

sys.columns

usertype

syscolumns

sys.columns

memberuid

sysmembers

sys.database_role_members

groupid

sysmembers

sys.database_role_members

uid

sysobjects

sys.objects

uid

sysprotects

  • sys.database_permissions

  • sys.server_permissions

grantor

sysprotects

  • sys.database_permissions

  • sys.server_permissions

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

sys.dm_exec_plan_attributes

uid

sysprocesses

sys.dm_exec_requests

Consulte também

Referência

Exibições de catálogo (Transact-SQL)

Mapeando tabelas do sistema para exibições do sistema (Transact-SQL)