sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server-replikering kräver det faktiska servernamnet för att göra en anslutning till servern

Jag hittade lösningen i följande länk http://www.cryer.co.uk/brian/sqlserver/replication_requires_actual_server_name.htm

tacksam till Brian Cryer för hans användbara sida

Citerar från länken för att undvika länkröta:

Orsak:

Det här felet har observerats på en server som hade bytt namn efter den ursprungliga installationen av SQL Server, och där SQL Server-konfigurationsfunktionen @@SERVERNAME returnerade fortfarande serverns ursprungliga namn. Detta kan bekräftas av:

select @@SERVERNAME
go

Detta bör returnera namnet på servern. Om det inte fungerar, följ proceduren nedan för att korrigera det.

Åtgärd:

För att lösa problemet måste servernamnet uppdateras. Använd följande:

sp_addserver 'real-server-name', LOCAL

om detta ger ett felmeddelande om att namnet redan finns, använd följande sekvens:

sp_dropserver 'real-server-name'
go

sp_addserver 'real-server-name', LOCAL
go

Om det rapporterade felet istället är "Det finns redan en lokal server." använd sedan följande sekvens:

sp_dropserver old-server-name
go

sp_addserver real-server-name, LOCAL
go

Där "gamla-server-namnet" är namnet i brödtexten av det ursprungliga felet.

Stoppa och starta om SQL Server.



  1. operation inte tillåten när objektet är stängt när mer avancerad fråga körs

  2. Oracle Analytic-funktioner - återställning av en fönsterklausul

  3. hur gör man en funktion för att returnera radtyp från en tabell i pl/sql?

  4. Ordning efter värdens ordning i en SQL IN()-sats