Что синтаксис T-SQL должен подключить к другому SQL Server?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

57
задан Dylan Corriveau 12 May 2015 в 13:33
поделиться

6 ответов

Кроме того, удостоверьтесь, когда Вы пишете запрос, включающий связанный сервер, Вы включаете скобки как это:

SELECT * FROM [LinkedServer].[RemoteDatabase].[User].[Table]

я нашел, что, по крайней мере, на 2000/2005 [] скобки необходимы, по крайней мере, вокруг имени сервера.

49
ответ дан Codewerks 24 November 2019 в 19:14
поделиться

Обновление: для соединения с другим SQL-сервером и выполнения sql операторы, необходимо использовать sqlcmd Утилита . Это обычно делается в пакетном файле. Можно объединить это с xmp_cmdshell, если Вы хотите выполнить его в студии управления.

<час>

один путь состоит в том, чтобы настроить связанный сервер . тогда можно добавить связанный сервер и имя базы данных к имени таблицы. (выберите * из linkedserver.database.dbo. TableName)

USE master
GO
EXEC sp_addlinkedserver 
    'SEATTLESales',
    N'SQL Server'
GO
28
ответ дан Gulzar Nazim 24 November 2019 в 19:14
поделиться

Если я должен был перефразировать вопрос - он возможный выбрать контекст сервера для выполнения запросов в DDL - ответ нет. Только контекст базы данных может быть программно выбран с ИСПОЛЬЗОВАНИЕМ. (уже предварительно выбрав контекст сервера внешне)

Связанный сервер и ОТКРЫВАЕТ, QUERY может предоставить доступ к DDL, но потребовать несколько, чтобы перезапись Вашего кода инкапсулировала как строка - мешающий разрабатывать/отлаживать.

Поочередно Вы могли обратиться к внешней программе драйвера в файлы SQL погрузки для отправки к удаленному серверу через, ОТКРЫВАЮТ QUERY. Однако в большинстве случаев Вы, возможно, также соединились с сервером непосредственно в 1-м месте для оценки DDL.

6
ответ дан stephbu 24 November 2019 в 19:14
поделиться

Попытайтесь создать связанный сервер (который можно сделать с sp_addlinkedserver), и затем использование OPENQUERY

2
ответ дан Wayne 24 November 2019 в 19:14
поделиться

Если возможно, проверьте SSIS (службы интеграции SQL Server). Я только начинаю работать с этим набором инструментов, но уже перебираю более 40 серверов и готовлюсь к разного рода разрушениям;)

0
ответ дан 24 November 2019 в 19:14
поделиться

В SQL Server Management Studio включите режим SQLCMD в меню Query. Затем в верхней части вашего скрипта введите команду, приведенную ниже

:Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]

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

86
ответ дан 24 November 2019 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: