Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Mostra quaisquer objetos não contidos usados na base de dados. Objetos não contidos são objetos que atravessam o limite da base de dados numa base de dados contida. Esta perspetiva é acessível tanto a partir de uma base de dados contida como de uma base de dados não contida. Se sys.dm_db_uncontained_entities estiver vazia, a tua base de dados não utiliza entidades não contidas.
Se um módulo ultrapassar o limite da base de dados mais do que uma vez, apenas o primeiro cruzamento descoberto é reportado.
| Nome da coluna | Type | Descrição |
|---|---|---|
| classe | int | 1 = Objeto ou coluna (inclui módulos, XPs, vistas, sinónimos e tabelas). 4 = Principal da Base de Dados 5 = Montagem 6 = Tipo 7 = Índice (Índice do Texto Completo) 12 = Gatilho DDL da Base de Dados 19 = Percurso 30 = Especificação de Auditoria |
| class_desc | Nvarchar(120) | Descrição da classe da entidade. Um dos seguintes para corresponder à classe: OBJECT_OR_COLUMN DATABASE_PRINCIPAL ASSEMBLY TYPE INDEX DATABASE_DDL_TRIGGER ROUTE AUDIT_SPECIFICATION |
| major_id | int | ID da entidade. Se classe = 1, então object_id Se class = 4, então sys.database_principals.principal_id. Se classe = 5, então sys.assemblies.assembly_id. Se classe = 6, então sys.types.user_type_id. Se classe = 7, então sys.indexes.index_id. Se classe = 12, então sys.triggers.object_id. Se classe = 19, então sys.routes.route_id. Se class = 30, então sys. database_audit_specifications.database_specification_id. |
| statement_line_number | int | Se a classe for um módulo, devolve o número de linha onde o uso não contido está localizado. Caso contrário, o valor é nulo. |
| statement_ offset_begin | int | Se a classe for um módulo, indica, em bytes, começando com 0, a posição inicial onde o uso não contido começa. Caso contrário, o valor de retorno é nulo. |
| statement_ offset_end | int | Se a classe for um módulo, indica, em bytes, começando com 0, a posição final do uso não contido. Um valor de -1 indica o fim do módulo. Caso contrário, o valor de retorno é nulo. |
| statement_type | nvarchar(512) | O tipo de afirmação. |
| feature_ nome | nvarchar(256) | Devolve o nome externo do objeto. |
| feature_type_name | nvarchar(256) | Devolve o tipo de funcionalidade. |
Remarks
sys.dm_db_uncontained_entities mostra as entidades que podem potencialmente atravessar o limite da base de dados. Devolverá quaisquer entidades utilizadoras que tenham potencial para usar objetos fora da base de dados.
Os seguintes tipos de características são reportados.
Comportamento de contenção desconhecido (SQL dinâmico ou resolução diferida de nomes)
Comando DBCC
Procedimento armazenado do sistema
Função escalar do sistema
Função com valores em tabela de sistema
Função incorporada no sistema
Segurança
Permissions
sys.dm_db_uncontained_entities apenas devolve objetos para os quais o utilizador tem algum tipo de permissão. Para avaliar totalmente a contenção da base de dados, esta função deve ser utilizada por um utilizador com privilégios elevados, como um membro do sysadmin, função fixa de servidor ou função db_owner .
Examples
O exemplo seguinte cria um procedimento chamado P1, e depois consulta sys.dm_db_uncontained_entities. A consulta indica que o P1 utiliza sys.endpoints , que está fora da base de dados.
CREATE DATABASE Test;
GO
USE Test;
GO
CREATE PROC P1
AS
SELECT * FROM sys.endpoints ;
GO
SELECT SO.name, UE.* FROM sys.dm_db_uncontained_entities AS UE
LEFT JOIN sys.objects AS SO
ON UE.major_id = SO.object_id;