Dê uma olhada no master.dbo.sysdatabases, existem todos os bancos de dados do listet do servidor ... com seu ID.
Estou configurando um programa chamado celcat timetabler www.celcat.com que é um aplicativo de programação que precisa de um novo banco de dados para cada ano (eu sei não pergunte). Eu fiz isso no passado, infelizmente desta vez eu cometi um erro, então eu apaguei o banco de dados do servidor sql e recriou. Isso parece estar bem no servidor todas as tabelas criadas corretamente e dados apropriados migrados, mas ao tentar fazer o logon (através de celcat) recebo não consegui encontrar o banco de dados ID 18.
Eu acredito que o problema está em criar o banco de dados com exatamente o mesmo nome do original (eu preciso fazer isso, pois tenho o SQL dependente do nome).
Eu olhei no banco de dados mestre e vi uma tabela atribuindo ID's aos bancos de dados para os quais o celcat não foi atribuído 18 pelo menos não mais. Qualquer idéia de onde poderia estar recebendo 18. Definitivamente não é armazenado com o programa celcat, já que experimentei usuários diferentes e computadores diferentes.
atualização:
eu corri
ALTER DATABASE celcat0910 SET SINGLE_USER COM ROLLBACK IMEDIATO EXEC sp_renamedb 'celcat0910', 'celcat09101' ALTER DATABASE celcat09101 SET MULTI_USER
Isso permitiu que o aplicativo celcat se conectasse ao banco de dados para que ele fosse criado corretamente, mas agora não é o nome do banco de dados que eu quero. Tendo o nome do banco de dados em uma ordem convencional de celcat0708, celcat0809, o celcat0910, pelo menos, permite que eu faça consultas de vários anos um pouco mais fáceis.
Para essa questão bem específica, eu me registraria e perguntaria no fórum oficial:
O aplicativo tem um banco de dados "Principal" que lista todos os bancos de dados anuais e outras informações de configuração? Se assim fosse, eu começaria a navegar pelas suas tabelas, procurando uma chave na tabela que você mencionou acima.
Anders
Tags sql-server