Partilhar via


Bancos de dados do sistema

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

O SQL Server inclui os seguintes bancos de dados do sistema.

Banco de dados do sistema Descrição
Banco de dados mestre Registra toda a informações de nível de sistema por uma instância do SQL Server.
Banco de dados msdb É usado pelo SQL Server Agent para programar alertas e trabalhos.
Modelo de banco de dados É usado como modelo de todos os bancos de dados criados na instância do SQL Server. As modificações feitas no banco de dados modelo, como tamanho, ordenação, modelo de recuperação, e outras opções de bancos de dados, são aplicadas a qualquer banco de dados criados em seguida.
Banco de dados de recursos É um banco de dados do tipo somente leitura que contém objetos de sistema incluídos no SQL Server. Os objetos de sistema são fisicamente persistentes no banco de dados Recurso , mas aparecem logicamente no esquema sys de todo banco de dados.
Banco de dados tempdb É um workspace para reter objetos temporários ou conjuntos de resultados intermediários.

Importante

Para os bancos de dados individuais e pools elásticos do Banco de Dados SQL do Azure, apenas o banco de dados mestre e o banco de dados tempdb se aplicam. Para saber mais, confira O que é um servidor do Banco de Dados SQL do Azure. Para obter uma discussão sobre o tempdb no contexto do Banco de Dados SQL do Azure, confira Banco de dados tempdb no Banco de Dados SQL do Azure. Para a Instância Gerenciada de SQL do Azure, todos os bancos de dados do sistema se aplicam. Para saber mais sobre Instâncias Gerenciadas no Banco de Dados SQL, confira O que é uma Instância Gerenciada

modificando dados do sistema

O SQL Server não oferece suporte aos usuários diretamente na atualização de informações dos objetos de sistema como tabelas do sistema, procedimentos armazenados do sistema e exibições do catálogo. Em vez disso, o SQL Server fornece um conjunto completo de ferramentas administrativas que permitem aos usuários administrar totalmente seus sistemas e gerenciar todos os usuários e objetos em um banco de dados. Elas incluem o seguinte:

  • Utilitários de administração, como o SQL Server Management Studio.

  • SQL-SMO API. Isso permite que os programadores incluam a funcionalidade completa para administrar o SQL Server em seus aplicativos.

  • Scripts Transact-SQL e procedimentos armazenados. Eles podem usar procedimentos armazenados do sistema e instruções Transact-SQL DDL.

Essas ferramentas protegem os aplicativos das alterações nos objetos de sistema. Por exemplo, o SQL Server algumas vezes precisa alterar as tabelas do sistema em novas versões do SQL Server para dar suporte à nova funcionalidade adicionada nessa versão. Os aplicativos que emitem instruções SELECT que diretamente referenciam tabelas do sistema são frequentemente dependentes do formato antigo das tabelas do sistema. Os sites podem não conseguir atualizar para uma nova versão do SQL Server até regravarem os aplicativos que estão sendo selecionados nas tabelas do sistema. O SQL Server considera os procedimentos armazenados do sistema, DDL, e as interfaces publicadas SQL-SMO, e trabalha para manter a compatibilidade com versões anteriores dessas interfaces.

O SQL Server não oferece suporte a gatilhos definidos nas tabelas do sistema, pois eles podem modificar a operação do sistema.

Observação

Bancos de dados do sistema não podem residir em diretórios de compartilhamento UNC.

exibindo dados de sistema do banco de dados

Você não deve codificar instruções Transact-SQL que fazem consulta diretamente nas tabelas do sistema, a menos que seja a única maneira de obter as informações exigidas pelo aplicativo. Em lugar disso, os aplicativos devem obter informações de catálogos e do sistema usando o seguinte:

  • Exibições de catálogo do sistema

  • SQL-SMO

  • Interface de Instrumentação de Gerenciamento do Windows (WMI)

  • Funções de catálogo, métodos, atributos, ou propriedades das API de dados usados no aplicativo, como ADO, OLE DB, ou ODBC.

  • Procedimentos armazenados do sistema e funções internas do Transact-SQL.