Estou tentando criar um Stored Procedure
para um banco de dados recém-criado. No entanto, o SSMS
intellisense não reconhece mais da metade das tabelas que foram criadas.
Por exemplo, enquanto na coluna esquerda sob as tabelas eu tenho uma tabela dbo.Room
, quando digito " dbo.
" na nova janela de consulta, essa tabela não é listada, na verdade, apenas 17 das 37 tabelas são listadas.
Não vejo diferença entre as tabelas listadas pelo intellisense e as que não são. Se eu digitar manualmente dbo.Room, ele será sublinhado, com um erro de
Nome de objeto inválido 'dbo.Room' ..
Perdi alguma coisa na organização das mesas?
UPDATE: Tentei atualizar a lista de tabelas (várias vezes)
sql-server
ssms
Richbits
fonte
fonte
[DatabaseName].[Schema].[TableName]
SO: Nome de objeto inválido sqlRespostas:
Tentar:
Edit-> IntelliSense->Refresh Local Cache
Isso deve atualizar os dados armazenados em cache pelo Intellisense para fornecer suporte de digitação antecipada e detecção de erros de pré-execução.
NOTA: O cursor deve estar no editor de consultas para que o menu IntelliSense fique visível.
fonte
Ctrl+ Shift+ Ratualiza o intellisense no Management Studio 2008 também.
fonte
Verifique se o banco de dados selecionado é aquele em que a tabela está. Eu estava executando o script
Master
. No meu caso, tive que mudar parahr_db
.Erro de novato, mas poderia ajudar alguém.
fonte
master
ocorre porque é definido como o banco de dados padrão para o seu login de usuário. Apenas altere isso usandosp_defaultdb
para outro banco de dados para que o outro banco de dados seja selecionado no SSMS quando você efetuar login. (Também pode ser definido no SSMS porSecurity > Logins > your user login > Properties > Default database
)Depois de criar um novo objeto do SQL Server, o objeto recém-criado não é atualizado no cache local do IntelliSence e, por isso, mostra uma linha vermelha embaixo desse objeto. Então, você só precisa atualizar o cache local do SSMS IntelliSence e, depois de atualizá-lo,
IntelliSence
adicionará automaticamente o objeto recém-criado ao cache e a linha vermelha desaparecerá. tente issoEdit -> IntelliSense -> Refresh Local Cache
ou Ctrl+ Shift+Rfonte
No meu caso, o cache do IntelliSense estava listando informações de objetos para um banco de dados totalmente diferente. Se eu clicar no botão "Nova consulta" no SSMS, ele abriria uma consulta no meu catálogo padrão no servidor e esse editor de consultas sempre usaria apenas esse banco de dados. A atualização do cache não mudou nada. Reiniciar o SSMS não mudou nada. Alterar o banco de dados não mudou nada.
Acabei criando uma consulta clicando com o botão direito do mouse no banco de dados que realmente queria usar e escolhendo "Nova Consulta" nesse menu de contexto. Agora o SSMS usa os objetos corretos para o IntelliSense.
fonte
Você tem certeza de que a tabela em questão existe?
Você atualizou a exibição da tabela no Pesquisador de Objetos? Isso pode ser feito clicando com o botão direito do mouse na pasta "tabelas" e pressionando a F5tecla
Você também pode precisar atualizar novamente o cache do Intellisense.
Isso pode ser feito seguindo a rota do menu: Editar -> IntelliSense -> Atualizar cache local
fonte
A solução é:
É isso aí.
fonte
Mesmo problema comigo quando usei esse problema de sintaxe resolvido.
Sintaxe:
fonte
Mesmo após a instalação do SP3 no SQL Server 2008 Enterprise, esse ainda é um "problema". Ctrl+ Shift+ Rcomo todo mundo está dizendo resolveu esse problema para mim.
fonte
Resolvido para o SSMS 2016.
Teve um problema semelhante, mas o Intellisense não estava no menu Editar.
O que parecia consertá-lo era ativar e desativar o Intellisens, clique com o botão direito do mouse no editor SQL e clique em 'Intellisense ativado'. Clique com o botão direito do mouse novamente em 'Intellisense ativado' para ativá-lo novamente. Ctr Q, eu também faço isso.
Isso resolveu o problema, e também sei obter o Intellisense no menu Editar.
fonte
Eu apenas tive que fechar o SMSS e reabri-lo. Tentei Atualizar o cache local e isso não funcionou.
fonte
você tentou: clique com o botão direito do mouse no banco de dados e clique em "atualizar"
fonte
Sei que essa pergunta já foi respondida, no entanto, tive uma solução diferente:
Se você estiver escrevendo um script no qual soltar as tabelas sem recriá-las, essas tabelas serão exibidas como ausentes se você tentar referenciá-las posteriormente.
Nota: Isso não vai acontecer com um script que é executado constantemente, mas às vezes é mais fácil ter um script com consultas para reerência do que digitá-las sempre.
fonte
Corri para o problema com: ODBC e SQL-Server-Authentication no ODBC e Firedac-Connection
Solução: tive que definir o Param MetaDefSchema como sqlserver nome de usuário: FDConnection1.Params.AddPair ('MetaDefSchema', self.FDConnection1.Params.UserName);
O wikidoc sais: MetaDefSchema = Nome do esquema padrão. O código de tempo do design >> exclui << !! o nome do esquema do objeto SQL-Server-Authenticatoinname se for igual a MetaDefSchema.
sem definir, o codificador automático cria: dbname.username.tablename -> nome de objeto inválido
Com a configuração de MetaDefSchema como sqlserver-username: dbname.tablename -> works!
Consulte também o embarcadero-doc em: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_(FireDAC)
Espero que isso ajude mais alguém..
Atenciosamente, Lutz
fonte
No azure data studio, pressione "cmd + shift + p" e digite "intellisense", e você verá uma opção para atualizar o cache intellisense.
fonte
Não esqueça de criar suas migrações depois de escrever os modelos
fonte