Como controlar a ordem dos servidores listados na caixa de diálogo de conexão SSMS?

11

Meu projeto atual envolve muita troca de banco de dados à medida que atualizamos do SQL 2008 -> 2012, re-tarefa de hardware, repita.

Um pequeno incômodo é a caixa de diálogo de conexão no SSMS, reorganizando a ordem do servidor para colocar as mais recentes no topo. Dado que, em qualquer dia em particular, estou me conectando a 6 a 10 servidores de banco de dados e quero encontrar rapidamente um específico na lista, esse comportamento é muito mais um obstáculo do que uma ajuda.

Existe uma maneira de desativar esse comportamento, listando os servidores em ordem alfabética ou na ordem em que foram adicionados ... ou qualquer coisa que não seja alterada toda vez que eu me conectar a um servidor?

Exceto por isso, existe uma maneira totalmente diferente de gerenciar melhor a conexão com um servidor específico a partir de uma lista / farm deles?

Estou usando o SSMS para SQL 2012 (embora também tenha curiosidade sobre as soluções de 2008).

Nick Craver
fonte

Respostas:

6

Use servidores registrados ou configure um servidor de gerenciamento central (CMS). Eu o recomendo se você puder dedicar um tempo (pequeno) para configurar a infraestrutura, pois permitirá que todos vejam a mesma lista de servidores, em vez de apenas você (os servidores registrados estão armazenados no registro). A única "desvantagem" do CMS é que você precisa usar a autenticação do Windows porque as senhas não são mantidas no disco.

Esses dois recursos permitem manter uma lista ordenada / agrupada de servidores e gerenciar servidores como grupos. Isso é muito poderoso porque o Gerenciamento Baseado em Política está totalmente integrado à GUI.

Isso funciona com todas as versões de servidor - eu executo o SSMS 2012 e gerencio servidores 2005-2012. Um servidor CMS pode ser configurado em uma edição Express, portanto, o licenciamento não é uma preocupação; no entanto, recomendo fazer backups do banco de dados do sistema para que a lista de servidores seja recuperável.

Jon Seigel
fonte
A única desvantagem que encontramos com isso antes foi (me corrija se eu estiver errado) o CMS não pode ser um membro de seu próprio grupo ... então você precisa de uma instância extra apenas para ser um CMS, correto? Como você contorna isso / o torna útil? ... ou você apenas come tendo uma instância extra em algum lugar? Mais um item: a maioria de nós trabalha remotamente, nem sempre está conectada ao domínio, como isso se comportaria ao lançar o SSMS para desenvolvimento local, atraso, sem impacto?
Nick Craver
@ Nick: Sim, eu recomendo configurar uma nova instância apenas para o CMS. Dessa forma, é separado da infraestrutura SQL real. Foi por isso que toquei no licenciamento em minha resposta e observei que seria necessário um pequeno esforço extra para configurar.
21412 Jon Jonseig
@ Nick: eu precisaria saber mais sobre a infraestrutura criada - algo não está fazendo sentido. Você não se conecta diretamente da sua máquina doméstica aos servidores SQL de produção, não é? Se você precisar incluir servidores locais, use Servidores Registrados para essa parte, porque a lista é armazenada localmente.
21812 Jon Seigel
Ah, sim, sim :) Esta é a minha máquina de desenvolvimento, por isso estou conectado a todos os servidores SQL na infraestrutura SE daqui (mas às vezes não, desenvolvendo localmente e não na VPN ... principalmente no laptop). O licenciamento não é um problema importante, mas a instância totalmente separada (e onde mantê-la) é um pouco desconhecida ... não tenho certeza em qual servidor colocaríamos isso. Minha preocupação é quando o SSMS não pode acessar o CMS. Existe algum tipo de tempo limite ao abrir o SSMS?
Nick Craver
@ Nick: Sim, é muito mais fácil quando tudo é virtualizado. :) Mantemos o nosso em uma VM de gerenciamento. Outra opção é usar uma instância da edição do desenvolvedor em vez do Express, que fornece ao SQL Agent para informar se algo ocorre. Não, não há tempo limite ao abrir o SSMS. Você recebe apenas uma espera ao tentar expandir o nó CMS na guia Servidores Registrados (a ser esperado).
21812 Jon Seigel
4

Você não pode controlar esse pedido a menos que invadir o SqlStudio.bin ou remover entradas e adicioná-las novamente na ordem desejada. As soluções alternativas incluem:

Observe que o pedido será confuso assim que você se conectar a um servidor que não esteja na primeira posição, pois é realmente uma lista MRU (onde a conexão mais recente é listada primeiro).

Você pode ver mais detalhes nestas perguntas de SO:

E você pode ver o bug que eu arquivei que iniciou a capacidade de usar a chave de exclusão:

E outros erros que surgiram como resultado:

Aaron Bertrand
fonte
1
+1. Eu não sabia que você poderia acertar del com o mouse no SSMS. Vale a pena o peso em ouro.
9786 Thomas Stringer #
1

Na verdade, você não precisa hackear nada, desde que eu tenha resolvido esse problema no meu suplemento SSMS SSMSBoost (.com) - você pode baixá-lo e usá-lo gratuitamente. Você simplesmente define uma lista de suas conexões preferidas nas configurações (veja a figura) e, em seguida, ela fica disponível na lista suspensa na barra de ferramentas; portanto, mesmo a alternância entre servidores leva apenas um clique, como você alternaria entre os bancos de dados na lista de bancos de dados nativa. suspenso.

Agora algumas fotos:

Diálogo de configurações: insira a descrição da imagem aqui

Se você procurar outras opções, também encontrará "Alerta importante do banco de dados" - este pode ser útil para você, desde que você alterne entre bancos de dados novos e antigos, teste e servidor real durante o trabalho em seu projeto. Você pode configurar o Alerta, que será exibido como BIG Tooltip na posição especificada na tela, na medida em que você se conectar ao banco de dados "importante", para perceber que está trabalhando no ambiente REAL ou Test.

A figura a seguir mostra o conteúdo do menu suspenso da barra de ferramentas, onde você vê as conexões preferidas listadas acima e abaixo de todos os bancos de dados do servidor atual (mesma lista do menu suspenso da lista de bancos de dados nativos)

insira a descrição da imagem aqui

Na medida em que trabalho permanentemente em melhorias, você pode me escrever suas propostas, para tornar o complemento ainda melhor.

Andrei Rantsevich
fonte
Obrigado por me seguir no Twitter - eu só registrei essa conta para bloquear o nome. Dito isto, estou no processo de configurar um blog que terá uma conta dedicada no Twitter, e você pode segui-lo, se quiser, quando for lançado (vou te enviar uma mensagem aqui com os detalhes). Obrigado.
21816 Jon Jones
Como prometido, twitter.com/VoluntaryDBA
Jon Seigel