Tabelas "padrão" do Banco de Dados SQL Server

8

Quando adiciono um novo banco de dados ao nosso servidor de desenvolvimento (usando SSMS), ele cria automaticamente 5 tabelas.

Estas são cópias de tabelas de aplicativos que já existem em outro banco de dados.

Suponho que esse seja um recurso recente do SQL Server que eu não saiba sobre onde as tabelas podem ser marcadas como 'comuns' ou algo parecido e, portanto, sejam adicionadas automaticamente a novos bancos de dados.

Mas como posso impedir que isso aconteça?

Para evitar confusão, esse banco de dados não está com script, ele é criado diretamente a partir da GUI do SSMS (clique com o botão direito do mouse em Bancos de Dados> Novo Banco de Dados)

(movido de StackOverflow)

CompanyDroneFromSector7G
fonte
4
Confira o banco de dados do modelo nos bancos de dados do sistema. Também contém as tabelas?
VonPryz 07/09
Sim, as mesmas tabelas - presumo que essa é a causa?
CompanyDroneFromSector7G
Sim, modelé o banco de dados "modelo" usado como fonte para todos os próximos bancos de dados criados.
Marcin S.
Uau eu nunca sabia que (somente vindo a utilizar SQL Server desde a versão 6.3)
CompanyDroneFromSector7G
O recurso certamente existe desde pelo menos o SQL Server 2005 (possivelmente antes), no entanto.
Andriy M

Respostas:

15

Isso acontece (com base na discussão nos comentários) porque as tabelas existem no modelbanco de dados do sistema. Conforme a documentação (minha ênfase):

Se você modificar o banco de dados do modelo, todos os bancos de dados criados posteriormente herdarão essas alterações . Por exemplo, você pode definir permissões ou opções de banco de dados ou adicionar objetos como tabelas , funções ou procedimentos armazenados. As propriedades do arquivo do banco de dados do modelo são uma exceção e são ignoradas, exceto o tamanho inicial do arquivo de dados.

Como solução, descartar as tabelas modelinterromperá esse fenômeno.

vonPryz
fonte
Vale a pena acrescentar que há algumas exceções, como TempDB recreação após a reinicialização do servidor. Nesse caso, TempDBusa todas as propriedades do próprio arquivo, incluindo o tamanho inicial dos arquivos de dados.
Marcin S.