Importei várias tabelas do SQL Server 2000 para o meu banco de dados de 2008. Todas as mesas importados são prefixados com meu nome de usuário, por exemplo: erpadmin.tablename
.
Nas propriedades da tabela, lista 'erpadmin' como o esquema db. Quando escrevo uma consulta, agora tenho que incluir 'erpadmin'. na frente de todos os nomes de tabela, o que é confuso.
Resultado atual:
select *
from erpadmin.tablename
Resultado desejado:
select *
from tablename
fonte
select ... from table5 ;
) e obter resultados diferentes. Isso é ruim para o cache do plano e também para a solução de problemas (responsável pelo suporte da sugestão, "essa consulta é executada aqui"). Além disso, a ligação de esquema, necessária para a indexação de funções e visualizações, requer dois nomes de partes. TLDR: deixe de ser preguiçoso - use dois nomes de partes.Além da resposta ao @AdamWenger. Para criar scripts para transferir para outro esquema, você pode usar o seguinte script
fonte
É provável que seu problema seja devido à maneira como a migração foi feita. O material não deve ser anexado ao seu usuário, a menos que você seja considerado o proprietário.
Existem esquemas para ajudá-lo a separar as tabelas de acordo com o que fizer sentido. Suponha que você tenha uma tabela de recursos para o departamento de RH e deseje uma tabela separada para o departamento de produção, mantendo os dois no mesmo banco de dados. Nesse caso, você pode ter duas tabelas nomeadas recursos, uma no esquema de produção e outra no esquema de RH. É por isso que shcemas deve ser especificado, a menos que você traga itens para o esquema padrão.
Se você não está refazendo a migração por algum outro motivo, a transferência de Adam Wenger deve ser uma opção inteligente.
fonte
Inicie seu comando com
USE [tablename]
Sua consulta não possui um banco de dados associado para referência e o banco de dados que você está visualizando não é o padrão para o usuário conectado. Na parte superior da janela de consulta, provavelmente diz "mestre"fonte
[database_name]
né?