Bancos de dados do sistema

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.

Banco de dados modelo

É 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, agrupamento, 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 espaço de trabalho para reter objetos temporários ou conjuntos de resultados intermediários.

Modificando dados do sistema

O SQL Server não oferece suporte aos usuários diretamente na atualização de informações de objetos do sistema como tabelas de sistema, procedimentos armazenados do sistema e exibições de catálogo. Em lugar 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 de um banco de dados. Isso inclui 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 e procedimentos armazenados Transact-SQL. Podem usar procedimentos armazenados do sistema e instruções DDL Transact-SQL.

Essas ferramentas protegem os aplicativos das alterações nos objetos de sistema. Por exemplo, o SQL Server algumas vezes precisa alterar as tabelas de sistema em novas versões do SQL Server para dar suporte a 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 ter condições de atualizar para uma nova versão do SQL Server, até terem reinstalado os aplicativos que estão selecionando nas tabelas do sistema. O SQL Server considera os procedimentos armazenados do sistema, DDL, e as interfaces publicadas SQL-SMO, e os trabalhos para manter a compatibilidade com versões anteriores destas 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çãoObservação

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

Exibindo dados de banco de dados do sistema

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 Transact-SQL e funções internas.