Могу ли я установить связанный «связанный сервер» без открытия брандмауэра? - PullRequest
0 голосов
/ 11 октября 2019

Моя проблема

Я пытаюсь установить соединение с удаленным сервером SQL. Хотя у меня есть имя сервера, порт, пользователь и пароль, я не могу получить доступ. Это, вероятно, означает, что у них есть некоторые ограничения IP в настройках брандмауэра.

Теперь они говорят, что проблема будет решена, если я просто добавлю их сервер в качестве «связанного сервера». Эта функция, однако, недоступна для Azure SQL, поэтому прежде чем вносить серьезные изменения в мои настройки, я просто хочу убедиться, что это что-то решит ... так что ...

Добавляет лили "связанный сервер" обойти изменение брандмауэра? - Моя интуиция говорит, что нет ...

Кроме того, достаточно ли "имя сервера" / "имя домена" при подключении к удаленной базе данных или мне также нужен ip?

Добавлениесвязанный сервер

ссылка: https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-2017

# Setting up the link
Copy
USE [master]  
GO  
EXEC master.dbo.sp_addlinkedserver   
    @server = N'SERVER\NAME',   
    @srvproduct=N'SQL Server' ;  
GO  

#Configuring the linked server to use the domain credentials
Copy
EXEC master.dbo.sp_addlinkedsrvlogin   
    @rmtsrvname = N'SRVR002\ACCTG',   
    @locallogin = NULL ,   
    @useself = N'True' ;  
GO

Получение IP-адреса сервера SQL

SELECT  
    CONNECTIONPROPERTY('net_transport') AS net_transport,
    CONNECTIONPROPERTY('protocol_type') AS protocol_type,
    CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
    CONNECTIONPROPERTY('local_net_address') AS local_net_address,
    CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
    CONNECTIONPROPERTY('client_net_address') AS client_net_address

1 Ответ

1 голос
/ 11 октября 2019

Для теста я удалил из своей базы данных SQL Azure все правила брандмауэра. enter image description here

Затем я подключаюсь к своему локальному серверу SQL и создаю связанный сервер с базой данных SQL Azure, следуя этим инструкциям: Как создать связанный сервер с базой данных SQL Azureчерез SQL Server Management Studio и Создание связанных серверов .

Я получаю сообщение об ошибке:

Невозможно открыть сервер "****" запрошенопо логину. Клиент с IP-адресом '. . *. ' не имеет доступа к серверу. Чтобы разрешить доступ, используйте портал управления Windows Azure или запустите sp_set_firewall_rule в базе данных master, чтобы создать правило брандмауэра для этого IP-адреса или диапазона адресов. Изменение вступит в силу до пяти минут. (Microsoft SQL Server, ошибка: 40615)

enter image description here

Затем я добавляю IP-адрес клиента в брандмауэр базы данных SQL Azure, связанный сервер успешно создан,

По поводу ваших двух вопросов:

  1. Могу ли я установить связанный «связанный сервер» без открытия брандмауэра?

Нет, вы не можете. Вы должны добавить IP-адрес клиента в брандмауэр.

Достаточно ли "имя сервера" / "имя домена" при подключении к удаленной базе данных или мне также нужен ip?

Да, так и есть. Вам не нужен IP.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...