Как контролировать порядок серверов, перечисленных в диалоге подключения SSMS?


11

Мой текущий проект включает в себя много перетасовки базы данных при обновлении с SQL 2008 -> 2012, повторное задание оборудования, повторите.

Небольшое раздражение вызывает диалоговое окно подключения в SSMS, в котором перетасовывается порядок сервера, чтобы поместить самый последний в начало. Учитывая, что в любой конкретный день я подключаюсь к 6-10 серверам БД и хочу быстро найти конкретный в списке, такое поведение является скорее помехой, чем помощью.

Есть ли способ отключить это поведение, перечислив серверы в алфавитном порядке или в порядке их добавления ... или что-нибудь, что не меняется при каждом подключении к серверу?

За исключением этого, есть ли совершенно другой способ лучше управлять подключением к определенному серверу из списка / фермы из них?

Я использую SSMS для SQL 2012 (хотя мне любопытно и решения 2008 года).

Ответы:


6

Используйте зарегистрированные серверы или настройте центральный сервер управления (CMS). Я рекомендую последнее, если вы можете потратить (небольшое) время на настройку инфраструктуры, поскольку это позволит всем видеть один и тот же список серверов, а не только вам (зарегистрированные реестры хранятся в реестре). Единственный «недостаток» CMS заключается в том, что вам нужно использовать проверку подлинности Windows, поскольку пароли не сохраняются на диске.

Обе эти функции позволяют вести упорядоченный / сгруппированный список серверов и управлять серверами как группами. Это очень мощно, потому что управление на основе политик тесно интегрировано с GUI.

Это работает со всеми версиями серверов - я использую SSMS 2012 и управляю серверами 2005-2012. Сервер CMS можно настроить в Express Edition, поэтому лицензирование не является проблемой; однако я рекомендую делать резервные копии базы данных системы, чтобы список серверов можно было восстановить.


Единственный недостаток , мы столкнулись с этим раньше был (поправьте меня , если я ошибаюсь) КМВ не может быть членом своей собственной группы ... так что вам нужен дополнительный экземпляр просто быть CMS, правильно? Как вы можете обойти это / сделать это полезным? ... или вы просто едите, имея дополнительный экземпляр где-нибудь? Еще один момент: большинство из нас работают удаленно, не всегда подключенные к домену. Как это будет происходить при запуске SSMS для локальной разработки, задержка, без последствий?
Ник Крейвер

@Nick: Да, я рекомендую настроить новый экземпляр только для CMS. Таким образом, он отделен от реальной инфраструктуры SQL. Вот почему я затронул вопрос лицензирования в своем ответе и отметил, что для его настройки потребуется немного больше усилий.
Джон Зигель

@ Ник: Мне нужно больше узнать о создании инфраструктуры - что-то не имеет смысла. Вы не подключаетесь напрямую с вашего домашнего компьютера к рабочим серверам SQL, не так ли? Если вам нужно включить локальные серверы, используйте для этой части Registered Servers, поскольку список хранится локально.
Джон Зигель

О, да, мы делаем :) Это моя машина разработки, поэтому я подключен ко всем серверам SQL в инфраструктуре SE отсюда (но иногда нет, выполняю локальную разработку, а не в VPN ... особенно на ноутбуке). Лицензирование не является серьезной проблемой, но совершенно отдельный экземпляр (и где его хранить) является чем-то вроде неизвестного ... не уверен, на каком сервере мы его запихнем. Меня беспокоит то, что когда SSMS не может достичь CMS, есть ли какое-то время ожидания, когда вы открываете SSMS?
Ник Крейвер

@Nick: Да, намного проще, когда все виртуализировано. :) Мы держим нашу на ВМ управления. Другим вариантом является использование экземпляра Developer Edition вместо Express, который дает вам агент SQL, чтобы сообщить вам, если что-то взорвалось. Нет, тайм-аут при открытии SSMS отсутствует. Вы получаете ожидание только при попытке развернуть узел CMS на вкладке «Зарегистрированные серверы» (как и следовало ожидать).
Джон Зигель

4

Вы не можете контролировать этот порядок, если не взломаете SqlStudio.bin или удалите записи и повторно добавите их в нужном вам порядке. Обходные пути включают в себя:

Обратите внимание, что порядок будет испорчен, как только вы подключитесь к серверу, который не находится на первой позиции, поскольку это действительно список MRU (где самое последнее соединение указано первым).

Вы можете увидеть более подробную информацию в следующих вопросах:

И вы можете увидеть ошибку, которую я подал, которая инициировала возможность использования ключа удаления:

И другие ошибки, которые возникли в результате:


1
+1. Я не знал, что ты можешь ударить Дела мышкой в ​​SSMS. Это на вес золота.
Томас Стрингер

1

На самом деле вам не нужно ничего взламывать, поскольку я решил эту проблему в своей надстройке SSMS SSMSBoost (.com) - вы можете скачать ее и использовать бесплатно. Вы просто определяете список предпочитаемых соединений в настройках (см. Рисунок), и тогда он будет доступен в виде раскрывающегося списка на панели инструментов, поэтому даже переключение между серверами занимает всего один щелчок, как если бы вы переключались между базами данных в собственном списке баз данных. падать.

Теперь несколько картинок:

Диалог настроек: введите описание изображения здесь

Если вы посмотрите на другие варианты, вы также найдете «Важное предупреждение БД» - это может быть полезно для вас, когда вы переключаетесь между новыми и старыми БД, тестовыми и реальными серверами во время работы над вашим проектом. Вы можете настроить Alert, который будет отображаться как BIG Tooltip в указанной позиции на экране, если вы подключаетесь к «важной» базе данных, так что вы заметите, что работаете в РЕАЛЬНОЙ или Тестовой среде.

На следующем рисунке показано содержимое раскрывающегося списка панели инструментов, где вы видите предпочтительные подключения, перечисленные выше и ниже всех баз данных с текущего сервера (тот же список, что и в раскрывающемся списке собственных баз данных)

введите описание изображения здесь

Поскольку я постоянно работаю над улучшениями, вы можете написать мне свои предложения, чтобы мы сделали надстройку еще лучше.


Спасибо за то, что подписались на меня в Твиттере - я только зарегистрировал эту учетную запись, чтобы заблокировать имя. Тем не менее, я нахожусь в процессе создания блога, который будет иметь выделенную учетную запись Twitter, и вы можете следить за этим, если захотите, когда он будет выпущен (я сообщу вам здесь с деталями). Спасибо.
Джон Зигель

Как и было обещано, twitter.com/VoluunteDBA
Джон Зигель
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.