Irakurri SQL Serverren erregistroko lerro bat lotura huts egindako bati buruz zerbitzua oraindik martxan dagoela, eta abio-ordenen mendekotasuna aurkitu duzu, ez kraskadura. Konbinazio hori da arrastoa: motorra abiatu zen entzun behar zuen helbidea makinan existitu baino lehen. Saioa hasi ondoren agertzen den VPN egokitzailea baldintza eskasa da gainbegiratu gabeko datu-base zerbitzu baterako, beraz, jarraitu hutsegitea motorrak ikusten duen ordenan.

Hasi abioko erregistrotik, ez bezerotik

Ireki instantziaren errore-erregistroa eta irakurri sarearen hasieratzearen inguruko sarrerak, ez soilik azken lerroa. Motorrak adierazten du zein helbide probatu zituen eta zein protokolo gaitu zituen, eta erregistro hori edozein bezero konektatu aurretikakoa da. Orain begiratu zer dagoen ostalarian une honetan. Konfiguratutako helbidea duen interfazea erabiltzailea saioa hasi eta bezero bat abiatu ondoren bakarrik agertzen bada, helbidea abioan falta zen eta loturaren hutsegitea erabat azalduta dago.

Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixOrigin
Get-Content 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\LOG\ERRORLOG' -Tail 40

Egokitu instantziaren bidea zure instalaziora eta irakurri interfazeen zerrenda ondorioak atera aurretik. Existitzen den baina egokitzaile okerrarena den helbidea oraindik existitzen ez den helbidearen arazo desberdina da.

Egin motorrak benetan jarraitzen duen lotura-ordena

Motorrak bere entzulearen konfigurazioa irakurtzen du eta gero sistema eragileari lotzeko eskatzen dio. Helbidea une horretan lokala ez bada, helbide horretarako loturak huts egiten du instantziaren gainerakoa normaltasunez jarrai dezakeen bitartean. Horregatik beste protokolo batzuek edo beste helbide batzuek oraindik funtziona dezakete, eta horregatik «SQL Server behera dago» laburpen okerra da. Gorde erregistroko amaierako puntu zehatza: helbidea, ataka eta protokoloa, konponbidea hiruretatik zein den oker dagoenaren araberakoa delako.

Egokitzailea agertu ondoren zerbitzua berrabiarazteak entzulea arrakastatsu egiten du normalean, eta horixe da tranpa. Mendekotasuna frogatzen du kentzen duen ordez, eta konektatuta dagoen erabiltzaile bakoitza eteten du tunela berriz konektatzen den bakoitzean.

Irakurri entzulea motorrak irakurtzen duen moduan

SQL Server Configuration Manager-en, ireki instantziaren TCP/IP propietateak eta ohartu Listen All ezarpenaz banakako helbideak editatu aurretik. Listen All Yes denean, helbide bakoitzeko Enabled balioak baztertzen dira, beraz haiek editatzeak ez du entzuleak erabiltzen duen ezer aldatzen. Idatzi hiru gauza hurrenez hurren: zerbitzatu nahi duzun helbidea, ataka eta entzuleak helbide guztiak edo bat soilik estali behar duen. Gero aplikatu aldaketa onartutako berrabiarazte-prozeduraren bidez eta irakurri hurrengo abioko erregistroa motorrak eskatutakoa lotu duela egiaztatzeko.

Helbide guztietan entzutea ez da sarbide-kontrola. Entzule zabala benetan beharrezkoa bada, irisgarri den interfaze bakoitzak bere firewall eta datu-basearen baimen erabakia behar ditu, interneti begira dagoen edozein interfaze barne.

Eman bezeroari helmuga egonkor bat

Bezeroak ez du behar datu-basearen ostalariak pool-eko helbide bat eramatea. Diseinu bideratuak funtzionatzen du zerbitzaria bere helbide pribatu egonkorrean entzuten ari den bitartean, VPN atebideak bezeroaren trafikoa hara birbidaltzen duela eta erantzuna atzera ekartzen duela.

Test-NetConnection -ComputerName 10.80.0.15 -Port 1433
tracert -d 10.80.0.15

Bezeroa 10.80.0.15-era iristen bada, bidea frogatuta dago eta datu-baseak bezero hori baimendu besterik ez du egin behar. Ez bada iristen, konpondu bideratzea eta DNS entzulea berriz ukitu aurretik, zerbitzariko lotura-arazoak ez zuelako inoiz eragin bezeroak hura aurkitzerik ez izatea. Zerbitzariari pool-eko helbide faltsu bat gehitzeak, edo bigarren atebide lehenetsi bat entzulea pozteko, sare-arazo berri bat sortzen du zaharren gainean. Eutsi zerbitzariaren helbideratzeari estatiko eta utzi tunelari bezeroak hara ekartzen.

Egiaztatu bezeroak erabilitako amaierako puntua

Amaitu aplikazio-mailako egiaztapen batekin, ataka-proba bat egin ordez. Konektatu bezerotik aplikazioak erabiltzen duen kontuarekin eta irakurri zerbitzari aldeko konexioaren xehetasunak, zeinek zure saioa zein helbide lokaletara iritsi zen erakusten duten.

sqlcmd -S tcp:10.80.0.15,1433 -Q "SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID"

Alderatu helbide hori konfiguratu duzun entzulearekin. Bat ez etortzeak bigarren entzule bat edo espero ez den tokian ebazten den izen bat esan nahi du, eta biak jakitea merezi du hurrengo berrabiarazteak zure konponbidea zure ordez probatu aurretik. Gero berrabiarazi ostalaria inor saioa hasi gabe eta egiaztatu loturak arrakasta duela. Proba soil hori konpondutako entzule baten eta hurrengo adabaki-gauean huts egiten duen irtenbide baten arteko aldea da.

Erlazionatutako artikuluak