MS SQL szerver linkelése
2009-08-10T11:17:25+02:00
2009-08-10T12:20:11+02:00
2022-07-24T02:41:49+02:00
Hack
Sziasztok!

A feladatom lesz a közeljövőben 2 MS SQL szerver között az adatcserét biztosítani. Utánaolvastam, hogy ez a Replication-nal lesz megvalósítható, viszont előtte be kell linkelni az adott adatbázistszervezt. Tesztelés képpen egy MS SQL 2005 szerverhez próbálok egy MS SQL 2000 szervert linkelni.
A linkelésél tartok, ezzel küszködöm, ebben kérnék segítséget.

A sok próbálkozásból ez tűnt a leghasználhatóbbnak:

EXEC master.dbo.sp_addlinkedserver @server = N'SZERVER1', @srvproduct=N'SQLServer OLEDB Provider', @provider=N'SQLNCLI', @datasrc=N'E:\Microsoft SQL Server\MSSQL\Data\TelecomDB_teszt.mdf', @catalog=N'TelecomDB_teszt'

Majd ez a lekérdezést próbálom futtatni:

select * from szerver1.telecomdb_teszt.dbo.hivasok


Ez a hiba:
OLE DB provider "SQLNCLI" for linked server "s00dt003" returned message "Login timeout expired".
OLE DB provider "SQLNCLI" for linked server "s00dt003" 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 65535, Level 16, State 1, Line 0
SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].


Ha ezt a lekérdezést futtatom:

select S.server_id, S.name, S.provider,S.data_source,S.provider_string, L.uses_self_credential from sys.servers as S, sys.linked_logins as L where S.server_id=L.server_id and S.name=N'SZERVER1'

Akkor ez az eredmény:
server_id = 4
Name = S00DT003
provider = SQLNCLI
data_source = E:\Microsoft SQL Server\MSSQL\Data\TelecomDB_teszt.mdf
provider_string = NULL
uses_self_credantial = 1
Mutasd a teljes hozzászólást!
Miért nem csinálod SSMS-ben?
Egyébként ennyi lenne a script (SSMS generálta, az options-t kihagytam, mert minden maradhat default):
EXEC master.dbo.sp_addlinkedserver @server = N'SZERVER1', @srvproduct=N'SQL Server' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'SZERVER1', @locallogin = NULL , @useself = N'True'
Mutasd a teljes hozzászólást!

abcd