Garapen-ingeniariek hainbat lekutan bilatzen dute konexio-kate batek, JDBC URL batek edo tnsnames.ora sarrera batek VPN-a hautatzen duen tokia. Toki hori ez da existitzen. Tunela sistema eragileak edo txartel birtual bat erregistratzen duen hornitzailearen bezeroak ezartzen du, eta gaineko datu-base liburutegi bakoitzak sortutako socket geruza erabiltzen du. Konexio-kate batek ostalari bat, portu bat eta kredentzial bat izendatzen ditu, eta hori da hiztegi osoa.

Mitoa: konexio-kateak tunela hauta dezake

Kontrolatzaileak TCP socket bat irekitzen dio ostalari eta portu bati. Ez du tunel bat altxatzeko APIrik, ez du tunel-profilik gabeko eremurik eta ez du VPN atari batean autentifikatzeko modurik.

Horregatik jokatzen dute tresnek berdin bide bat dagoenean. SSMS, DBeaver, Eclipse Data Tools eta sqlcmd soil bat tokiko sarean balego bezala aritzen dira, socketaren ikuspegitik hala delako. Txartel birtualak datu-basearen azpisarea irisgarri egin zuen, eta kontrolatzaileak ez daki inoiz nola.

Horrek azaltzen du, halaber, zergatik ezin duen konexio-kate batek eroritako tunel bat konpondu. Esteka hiltzen denean, kontrolatzaileak denbora-muga edo sare-errore orokor bat jakinarazten du, eta hori kontsulta-arazo gisa hartzen duen aplikazio-kodeak geruza okerra errepikatzen du betiko.

Altxatu tunela kontrolatzailea exekutatu aurretik

Konektatu VPN-a sistema eragilearen mailan, hornitzailearen edo sare-taldearen argibideak jarraituz, eta gero bakarrik ireki tresna. Praktikan horrek esan nahi du datu-basearen azpisarerako bide bat dagoela kontrolatzaileak ostalariaren izena ebazten duen aurretik.

Eduki tunelaren gainbegiratzea aplikaziotik kanpo. Esteka bera altxatzen saiatzen den PHP edo Java zerbitzu batek hornitzaile baten portaera kodean sartzen du, eta huts-erorketa bakoitza aplikazioaren bertsio bihurtzen da. Tunela daukan, zaintzen duen eta berrabiarazten duen gainbegiralea kontsulta-bidetik bereizitako kontua da.

Egiaztatu bidea kontrolatzaileari errua bota aurretik: ostalariak ebazten ez badu edo portuak shell-etik erantzuten ez badu, konexio-kate batek ere ez du hori aldatuko.

Mitoa: Windows autentifikazioaren hutsegiteak bidea hautsita dagoela esan nahi du

VPN baten bidezko Windows autentifikazioak sarritan sare-matxura dirudien errore batekin huts egiten du, eta bidea ondo dago. Kontua beste domeinu batekoa denean eta eramangarriak harekin bat egin ezin duenean, abiarazi bezeroa kredentzial esplizituekin, mahaigaineko saioaren identitatearen ordez.

runas /noprofile /netonly /user:CORP\dbreader "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"

/netonly etengailuak kredentzial horiek urruneko autentifikaziorako soilik gordetzen ditu. Egiaztatu zer jaso zuen benetan zerbitzariak SELECT SUSER_SNAME() erabiliz, konexio-elkarrizketan fidatu beharrean. Jakinarazten da zerbitzariaren helbidearen kredentziala Windows Credential Manager-en gordetzeak SSMS-rekin funtzionatzen duela, baina ez beti beste kontu baten pean exekutatzen den zerbitzu baterako, beraz, egiaztatu prozesuak zein identitate erabiltzen duen saioa aldatu aurretik.

Latentziak zerbitzari aldeko kurtsorea denbora-muga bihurtzen du

Zerbitzari aldeko kurtsoreak datu-baseari emaitza gordetzeko eta hura pixkanaka ekartzeko eskatzen dio, eta horrek emaitza handi bat joan-etorri txiki asko bihurtzen ditu. LAN batean merkea da. Hamarka milisegundo gehitutako latentzia duen tunel baten bidez, kontsulta berak komandoaren denbora-muga gaindi dezake datu gutxi asko transferitu gabe.

Joan bezero aldeko kurtsore batera, edo handitu eskuratze-tamaina eta multzokatu errenkadak, eta joan-etorrien kopurua jaisten da. Eztarria truke kopurua da, ez estekaren abiadura nominala, beraz, eskaeraren neurketak engainatuko zaitu, joan-etorrien neurketak ez. Probatu zure erabiltzaileek benetan ateratzen duten emaitza-multzo handienarekin, berehala itzultzen den errenkada bakarreko kontsulta batekin beharrean. Denbora-muga mugitzen bada baina ez bada desagertzen, handitu komandoaren denbora-muga eta eskuratze-tamaina batera eta neurtu berriro.

Aritmetika bera aplikatzen zaie ORM berritsuei eta errenkada bakoitzeko adierazpen bat igortzen duen edozein bezerori. Kontsulta-plana ona bada eta transferentzia txikia bada, zenbatu sareko trukeak datu-basea doitu aurretik.

Egiaztatu portua, instantzia eta tokiko iragazkia

Izeneko instantzia batek portu dinamiko batean entzuten du, beraz, egiaztatu portua 1433 suposatu beharrean. Instantzia lehenetsian balioa TcpPort erregistro-balioan irakur daiteke, instantziaren SuperSocketNetLib gakoaren pean. Oraclerako, egiaztatu tnsnames.ora-ko ostalariak ebazten duela, helbidea erantzuten duela eta entzule-portua baimenduta dagoela; 1521 ohiko lehenespena da, ez bermea.

Gero baztertu tunelaren beraren sarbide-zerrenda eta, azkenik, konexioa blokeatzen duen antibirus lokal bat edo ostalari-suebaki bat, bezeroa eta zerbitzaria makina bera direnean ere. Hartu huts egiten duen etapa konfigurazioa aldatu aurretik, izen-ebazpena, TCP irisgarritasuna eta TLS edo saioa hasteko bakoitzak mezu ezberdinarekin huts egiten baitu.

Idatzi etapa tixetean. Bestela, hurrengo pertsonak hasi zuen konexio-kate bilaketa bera errepikatuko du.

Erlazionatutako artikuluak