No servidor SQL, como " use <>", como "usar < >" comando de pesquisa
no servidor SQL, como use <<DatabaseName>>
, como dar use <<ServerName>>
o comando de pesquisa?
o botão direito do rato | mudança de ligação deve estar associado a algum comando. Não é? Curioso..
3 answers
Quando se liga ao servidor Sql, está a ligar-se a uma instância específica do servidor. Uma instância de servidor pode hospedar uma série de bancos de dados diferentes. O comando USE Database
permite-lhe dizer ao servidor Sql qual a base de dados nessa instância a usar.
Um comando USE Server
correspondente não faz sentido. Outras instâncias do servidor não estão conectadas a ou parte desta instância. Quando você se conectou a este servidor, você teve que fornecer credenciais que podem ou não ser válidas em outros servidores, e as melhores práticas de autenticação recomendam contra a preservação dessas credenciais durante uma sessão, o que significa que não tem como voltar a autorizar sua conexão com um servidor diferente.
O que pode fazer é criar um servidor ligado, usando o procedimento sp_ addlinkedserver. Então você deve incluir o nome do servidor como parte do nome da tabela totalmente qualificado com cada consulta.
Se estiver a tentar mudar completamente as ligações dentro de um ÚNICO programa e trabalhar com uma nova ligação em vez de partilhar dados entre ligações, então poderá fazê-lo com o modo SQLCMD. Isto é específico para o SQL Server Management Studio (SSMS) como o modo SQLCMD é diretivas para o SSMS e não algo que o motor de banco de dados estará executando.
Você poderá activar o modo SQLCMD por sessão, indo ao menu Query e seleccionando o modo SQLCMD . Logo que o modo SQLCMD esteja activo, poderá alterar as ligações usando o comando :connect
:
SELECT @@SERVERNAME AS [ServerName], DB_NAME() AS [DbName]
GO
:connect DifferentServerName
SELECT @@SERVERNAME AS [ServerName], DB_NAME() AS [DbName]
Notas:
- sem usar
GO
para separar os lotes no exemplo acima, o comando:connect
fará efeito antes da primeira selecção. Comente oGO
e corra novamente para ver o efeito.
Ao usar o modo SQLCMD, Intellisense não funcionará.
- O modo SQLCMD não pode {[25] } ser activado ou desligado programaticamente, mas pode ter o modo SQLCMD activa para todas as janelas de pesquisa novas, indo para Tools / Options / Query Execution e assinalando a opção para "por omissão, abrir novas consultas no modo SQLCMD".
use ServerName
no servidor SQL. Você Pode Criar um servidor ligado e especificar isso como parte do nome da tabela.
Exemplo:
SELECT id, name from MyLinkedServer.MyDBName.dbo.TableName
Se isto é algo que vai funcionar para você dê uma olhada nestes artigos que vão para servidores ligados em mais pormenor: