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
Azure SQL Managed Instance
As tabelas base do sistema são as tabelas subjacentes que realmente armazenam os metadados de um banco de dados específico. O master banco de dados é especial a este respeito porque contém algumas tabelas adicionais que não são encontradas em nenhum dos outros bancos de dados. Essas tabelas contêm metadados persistentes que têm escopo em todo o servidor.
Importante
As tabelas base do sistema são usadas somente no Mecanismo de Banco de Dados do SQL Server e não são para uso geral do cliente. As tabelas base do sistema estão sujeitas a alterações e a compatibilidade não é garantida.
Metadados da tabela base do sistema
Um beneficiário que tenha CONTROL, ALTERou VIEW DEFINITION permissão em um banco de dados pode ver os metadados da tabela base do sistema na exibição de sys.objects catálogo. O beneficiário também pode resolver os nomes e IDs de objeto de tabelas base do sistema usando funções internas, como OBJECT_NAME e OBJECT_ID.
Para vincular a uma tabela base do sistema, um usuário deve se conectar à instância do SQL Server usando a conexão de administrador dedicado (DAC). Tentar executar uma SELECT consulta a partir de uma tabela base do sistema sem se conectar usando o DAC gera um erro.
Importante
O acesso às tabelas básicas do sistema usando o DAC foi projetado apenas para o pessoal da Microsoft e não é um cenário de cliente com suporte.
Tabelas de base do sistema
A tabela a seguir lista e descreve cada tabela base do sistema no SQL Server.
| Tabela base | Descrição |
|---|---|
sys.sysschobjs |
Existe em todas as bases de dados. Cada linha representa um objeto no banco de dados. |
sys.sysbinobjs |
Existe em todas as bases de dados. Contém uma linha para cada entidade do Service Broker no banco de dados. As entidades do Service Broker incluem os seguintes objetos: Tipo de mensagem Contrato de prestação de serviços Serviço Os nomes e tipos usam agrupamento binário que é fixo. |
sys.sysclsobjs |
Existe em todas as bases de dados. Contém uma linha para cada entidade classificada que compartilha as mesmas propriedades comuns que incluem os seguintes objetos: Assembleia Dispositivo de backup Catálogo de texto completo Função de partição Esquema de partição Grupo de ficheiros Chave de ofuscação Esquema |
sys.sysnsobjs |
Existe em todas as bases de dados. Contém uma linha para cada entidade com escopo de namespace. Esta tabela é usada para armazenar entidades de coleção XML. |
sys.syscolpars |
Existe em todas as bases de dados. Contém uma linha para cada coluna em uma tabela, modo de exibição ou função com valor de tabela. Ele também contém linhas para cada parâmetro de um procedimento ou função. |
sys.systypedsubobjs |
Existe em todas as bases de dados. Contém uma linha para cada subentidade digitada. Apenas os parâmetros para a função de partição se enquadram nesta categoria. |
sys.sysidxstats |
Existe em todas as bases de dados. Contém uma linha para cada índice ou estatísticas para tabelas e modos de exibição indexados Observação: Cada índice (exceto heap) está associado a uma estatística que tem o mesmo nome que o índice. |
sys.sysiscols |
Existe em todas as bases de dados. Contém uma linha para cada coluna de índice e estatística persistente. |
sys.sysscalartypes |
Existe em todas as bases de dados. Contém uma linha para cada tipo de sistema ou definido pelo usuário. |
sys.sysdbreg |
Existe apenas na master base de dados. Contém uma linha para cada banco de dados registrado. |
sys.sysxsrvs |
Existe apenas na master base de dados. Contém uma linha para cada servidor local, vinculado ou remoto. |
sys.sysrmtlgns |
Esta tabela base do sistema existe apenas no master banco de dados. Contém uma linha para cada mapeamento de login remoto. Isso é usado para mapear logins de entrada que afirmam ser provenientes de um servidor correspondente para um login local real. |
sys.syslnklgns |
Existe apenas na master base de dados. Contém uma linha para cada mapeamento de login vinculado. Mapeamentos de login vinculado são usados por chamadas de procedimento remoto e consultas distribuídas que emanam de um servidor local para um servidor vinculado correspondente. |
sys.sysxlgns |
Existe apenas na master base de dados. Contém uma linha para cada entidade de servidor. |
sys.sysdbfiles |
Existe em todas as bases de dados. Se a coluna dbid for zero, a linha representa um arquivo que pertence a esse banco de dados. No banco de dados, a coluna master pode ser diferente de dbid zero. Quando esse é o caso, a linha representa um arquivo mestre. |
sys.sysusermsg |
Existe apenas na master base de dados. Cada linha representa uma mensagem de erro definida pelo usuário. |
sys.sysprivs |
Existe em todas as bases de dados. Contém uma linha para cada permissão no nível de banco de dados ou servidor. Nota: As permissões no nível do master servidor são armazenadas no banco de dados. |
sys.sysowners |
Existe em todas as bases de dados. Cada linha representa uma entidade de banco de dados. |
sys.sysobjkeycrypts |
Existe em todas as bases de dados. Contém uma linha para cada chave simétrica, criptografia ou propriedade criptográfica associada a um objeto. |
sys.syscerts |
Existe em todas as bases de dados. Contém uma linha para cada certificado em um banco de dados. |
sys.sysasymkeys |
Existe em todas as bases de dados. Cada linha representa uma chave assimétrica. |
sys.ftinds |
Existe em todas as bases de dados. Contém uma linha para cada índice de texto completo no banco de dados. |
sys.sysxprops |
Existe em todas as bases de dados. Contém uma linha para cada propriedade estendida. |
sys.sysallocunits |
Existe em todas as bases de dados. Contém uma linha para cada unidade de alocação de armazenamento. |
sys.sysrowsets |
Existe em todas as bases de dados. Contém uma linha para cada conjunto de linhas de partição para um índice ou uma pilha. |
sys.sysrowsetrefs |
Existe em todas as bases de dados. Contém uma linha para cada referência de índice para conjunto de linhas. |
sys.syslogshippers |
Existe apenas na master base de dados. Contém uma linha para cada testemunha de espelhamento de banco de dados. |
sys.sysremsvcbinds |
Existe em todas as bases de dados. Contém uma linha para cada ligação de serviço remoto. |
sys.sysconvgroup |
Existe em todas as bases de dados. Contém uma linha para cada instância de serviço no Service Broker. |
sys.sysxmitqueue |
Existe em todas as bases de dados. Contém uma linha para cada fila de transmissão do Service Broker. |
sys.sysdesend |
Existe em todas as bases de dados. Contém uma linha para cada ponto de extremidade de envio de uma conversa do Service Broker. |
sys.sysdercv |
Existe em todas as bases de dados. Contém uma linha para cada ponto de extremidade de recebimento de uma conversa do Service Broker. |
sys.sysendpts |
Existe apenas na master base de dados. Contém uma linha para cada ponto de extremidade criado no servidor. |
sys.syswebmethods |
Existe apenas na master base de dados. Contém uma linha para cada método SOAP definido em um ponto de extremidade HTTP habilitado para SOAP que é criado no servidor. |
sys.sysqnames |
Existe em todas as bases de dados. Contém uma linha para cada namespace ou nome qualificado para um token de ID de 4 bytes. |
sys.sysxmlcomponent |
Existe em todas as bases de dados. Cada linha representa um componente do esquema XML. |
sys.sysxmlfacet |
Existe em todas as bases de dados. Contém uma linha para cada faceta XML (restrição) da definição de tipo XML. |
sys.sysxmlplacement |
Existe em todas as bases de dados. Contém uma linha para cada posicionamento XML para componentes XML. |
sys.syssingleobjrefs |
Existe em todas as bases de dados. Contém uma linha para cada referência geral N-to-1. |
sys.sysmultiobjrefs |
Existe em todas as bases de dados. Contém uma linha para cada referência geral de N a N. |
sys.sysobjvalues |
Existe em todas as bases de dados. Contém uma linha para cada propriedade de valor geral de uma entidade. |
sys.sysguidrefs |
Existe em todas as bases de dados. Contém uma linha para cada referência de ID classificada do GUID. |
Atualizar tabelas base do sistema
Você pode visualizar os dados nas tabelas do sistema por meio das exibições do catálogo do sistema. Para atualizar os metadados em uma tabela base do sistema, use a interface Transact-SQL apropriada (por exemplo, instruções DDL). Não é possível atualizar manualmente as tabelas do sistema. O SQL Server relata as seguintes mensagens quando você executa atualizações diretas em tabelas do sistema.
Uma tabela do sistema é atualizada manualmente
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Iniciar um banco de dados com uma tabela do sistema que foi atualizada manualmente
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Execute o comando DBCC_CHECKDB depois que uma tabela do sistema for atualizada manualmente
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Se você executar atualizações manuais em uma tabela do sistema e encontrar um problema, poderá ser solicitado que restaure a partir de um backup ou copie os dados do banco de dados afetado para um novo banco de dados. Para obter mais informações, consulte Ações do usuário para MSSQLSERVER_8992.