Пользовательское расширение текста или горячие клавиши в MS SQL Server Management Studio

#sql-server #ssms #hotkeys

#sql-сервер #ssms #горячие клавиши

Вопрос:

Мне нужно написать несколько запросов в SQL Server Management Studio, большинство из которых, однако, находятся не в моей текущей базе данных, а в удаленной. Итак, любой простой запрос select выглядит следующим образом:

выберите * из [top_database].subdatabase.subsubdatabase.actualtable

где все, что я хочу сделать, это написать

выберите * из actualtable

Есть ли какой-либо способ настроить SQL Server так, чтобы я нажимал какую-либо горячую клавишу или разворачивал очень минимальный текст, который затем выдавал мне

[top_database].база данных subsubdatabase.subsubdatabase.

сразу после моего курсора?

Спасибо

Ответ №1:

Вы на самом деле имеете в виду…

[сервер компоновщика].[база данных].[схема].[объект]?

Если да, то, насколько мне известно, вы должны указать все части этого. Intelli-sense существует в более поздних версиях management Studio, но я не знаю, может ли он расширять имена, существующие на связанном сервере.

(Я полагаю, это связано с тем, что серверу SQL, а не клиенту management Studio, потребуется открыть соединение со связанным сервером, чтобы проверить эту информацию.)

Комментарии:

1. 1 — Лучший вариант — поместить их в блокнот на другом мониторе и CTRL C CTRL V

2. Да, вы правы в своем первом замечании. Кроме того, я не обсуждаю, требуется ли этот синтаксис явно; я знаю, что это так, иначе может возникнуть конфликт имен между различными серверами. Однако все, что я ищу, это простой способ, с точки зрения редактирования, просто добавить горячую клавишу, когда SQL Server находится в фокусе, чтобы я мог вставить сервер компоновщика]. [база данных]. [схема]. автоматически, и не нужно вводить его каждый раз.

3. Я отметил это как избранное, поскольку мне интересно, есть ли какие-либо полезные ответы. Но, насколько я знаю, вы застряли с копированием и вставкой.

4. Прошу прощения, если мои слова прозвучали покровительственно! Вопрос только в том, чтобы установить, имели ли вы в виду связанный сервер, поскольку это был бы момент, когда клиент Management Studio столкнулся бы с другим ограничивающим фактором.

Ответ №2:

Вы можете создать синоним для ваших удаленных таблиц и использовать этот синоним при написании запросов. На вашем сервере может быть база данных со всеми синонимами, которые вы, вероятно, будете использовать. При первом запросе таблицы больше работы, но в следующий раз меньше.

 create synonym TableName for LinkedServerName.DataBaseName.SchemaName.TableName
  

Затем вы можете сделать

 select *
from TableName
  

На самом деле это не ответ на ваш вопрос, но он может быть полезен.

Комментарии:

1. Спасибо, на самом деле это хорошее решение моей проблемы. Однако, поскольку у меня нет разрешения на создание синонимов в моей текущей базе данных, я все еще ищу решение на уровне редактора. Я попрошу разрешения как можно скорее.