Flestir líta á SQL Server-hýsilnafn sem fullt vistfang og VPN sem eitthvað sem er annaðhvort leyft eða ekki. Í reynd lætur nefnt tilvik biðlarann gera aðra uppflettingu eftir DNS, og það er sú uppfletting sem göng sem oftast brýtur. Skýr endapunktur sneiðir fram hjá henni, þess vegna getur tcp:host,port virkað á meðan host\INSTANCE rennur út. Munurinn er á milli þess að finna þjónustuna og að fá leyfi til að nota hana.

Goðsögnin: eitt hýsilnafn þýðir eitt port

Hýsilnafnið leysist í vistfang og þar endar starf þess. Nefnt tilvik bætir við tilviksnafni sem þjónninn verður að þýða yfir í TCP-port, og biðlarinn getur ekki giskað á það. Port 1433 er sjálfgefið fyrir sjálfgefið tilvik, ekki eiginleiki hvers tilviks á vélinni. Ef litið er á hvort tveggja sem sama hlutinn kemur hið klassíska einkenni: ping virkar, DNS virkar, skönnunin á 1433 sýnir ekkert, og niðurstaðan er að netið blokki SQL.

Önnur forsenda bregst á sama hátt: að opna TCP 1433 nægi. Ef tilvikið hlustar annars staðar sannar opið 1433 aðeins að eitthvað annað sé þar. Portið verður að passa við hlustandann, og að hlustandinn sé stillingaratriði á þjónshlið, það á að spyrja um frekar en að gera ráð fyrir því.

Hvað biðlarinn gerir í raun með nefndu tilviki

Eftir að hýsillinn er leystur sendir biðlarinn uppgötvunarbeiðni til SQL Server Browser á UDP 1434 og spyr hvaða port nefnda tilvikið notar. Vafraþjónustan svarar úr eigin skrá þjónsins, og þá opnar biðlarinn TCP-tengingu við það port. Tvö samskiptareglur og tvö port koma við sögu áður en innskráning er reynd.

nslookup sqlhost.corp.example
nc -vzu sqlhost.corp.example 1434
Get-Service -Name SQLBrowser

Þess vegna veldur blokkun á aðeins UDP tímamörkum sem líta út eins og dauður hýsill. Ef vafraþjónustan er stöðvuð eða óvirkjuð verður uppgötvunarbeiðnin ósvarað þótt gagnagrunnsvélin sé í gangi og TCP-port hennar opið. Ef tilvikið er stillt með kyrru porti spyr biðlarinn samt, nema endapunkturinn hafi verið gefinn beint. Hvert þessara mistaka lítur eins út í villuskilaboðum forritsins, og þau þurfa mismunandi lagfæringar.

Vafraþjónustan er þægindi við uppgötvun, ekki gagnagrunnurinn. Að stöðva hana stöðvar ekki vélina, og að ræsa hana opnar ekki TCP-port tilviksins.

Hvers vegna skýri endapunkturinn virkar þegar nafnið gerir það ekki

Skýr endapunktur fjarlægir uppflettinguna úr röðinni: biðlarinn tengist beint vistfanginu og portinu sem þú nefndir. Það er fyrst greining, ekki sjálfkrafa varanleg lausn, því portið getur breyst ef tilvikið er síðar stillt á kvikt port. Berðu saman báðar myndirnar með sama biðlara og sama reikningi áður en þú dregur ályktanir.

sqlcmd -S "tcp:sqlhost.corp.example,51433" -U app_login -Q "SELECT @@SERVERNAME"
Test-NetConnection sqlhost.corp.example -Port 51433

Ef skýra myndin gengur og nefnda myndin mistekst er uppgötvunin eyðan, og þú getur valið hvernig á að loka henni: leyfa UDP 1434 gegnum göngin, eða biðja stjórnandann að festa kyrrt port og skjalfesta endapunktinn. Bæði eru viljandi ákvarðanir með mismunandi viðhaldskostnaði. Að opna hvert port á bilinu er hvorugt þeirra, og það er valkosturinn sem venjulega er lagður til í lok langs dags. Skráðu valið þar sem tengistrengirnir búa.

Ef hvorug myndin virkar er vandamálið ofar uppgötvuninni. Athugaðu hlustandann, leiðina og aðgangsregluna fyrir portið sem tilvikið notar í raun áður en þú kennir vafraþjónustunni um.

Eftir uppgötvun: auðkenning og auðkenni eru aðskilin

Innskráningarbrestur er annar atburður en tímamörk, og VPN-auðkenni verður ekki SQL-innskráning vegna ganganna. Þegar biðlarinn nær réttu porti beitir gagnagrunnsvélin eigin auðkenningu og heimildum. Að blanda tveimur stigum í eitt mál er leiðin sem uppgötvunarvandamál lendir hjá röngu teymi. Lestu villunúmerið áður en þú breytir einhverju.

Haltu skjalfestu hýsilnafni ef rekillinn staðfestir skírteini þjónsins, því tenging með tölulegu vistfangi getur breytt þeirri athugun í stað þess að leysa upphaflega vandamálið. Nýlegir Microsoft-reklar dulkóða sjálfgefið, svo nafnamisræmi birtist sem skírteinisvilla eftir árangursríka TCP-tengingu. Það er framfarir, ekki nýtt mistak.

Goðsögnin sem á að leggja frá sér er að SQL Server-hýsilnafn sé fullt vistfang. Það er hýsill að viðbættu, fyrir nefnt tilvik, uppflettingu sem göngin bera kannski ekki. Nefndu portið, nefndu uppgötvunarleiðina, og næsta mistak mun segja þér hvaða lag á að laga.

Tengdir greinar