Я пытаюсь извлечь данные с удаленного SQL Server. Я могу получить доступ к удаленному серверу с помощью проверки подлинности SQL; Мне не повезло с использованием тех же учетных данных с sp_addlinkedserver.Не удалось добавить связанный SQL-сервер
Я пытаюсь что-то вроде этого:
Exec sp_dropserver 'Remote', 'droplogins'
go
EXEC sp_addlinkedserver
@server='Remote',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='0.0.0.0'
EXEC sp_addlinkedsrvlogin
@useself='FALSE',
@rmtsrvname='Remote',
@rmtuser='User',
@rmtpassword='Secret'
Select Top 10 * from Remote.DatabaseName.dbo.TableName
Вот что я получаю:
OLE DB provider "SQLNCLI" for linked server "Remote" returned message "Login timeout expired". OLE DB provider "SQLNCLI" for linked server "Remote" returned message "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.". Msg 53, Level 16, State 1, Line 0 Named Pipes Provider: Could not open a connection to SQL Server [53].
Опять же, я могу получить доступ к серверу напрямую (в SQL Management Studio), используя эти точные учетные данные, поэтому это не проблема с моей сетью или учетными данными.
Большинство примеров, которые я видел в Интернете, похоже, связаны с учетными записями Windows, в отличие от учетных записей безопасности SQL. Не работает ли это с проверкой подлинности SQL?
Это интересная мысль. Я получаю тот же результат, если я введу фиктивный IP-адрес или «foofoofoo» в параметр @datasrc. –
Спасибо, это привело меня к правильному решению. –
Ответьте мне, тогда мой хороший человек, я жажду высокий балл = D –