Istanza msemmija ta' SQL Server fuq VPN: skoperta, mhux port 1433
Istanza msemmija tistaqsi lil SQL Browser dwar port qabel tikkonnettja. Jekk l-isem ifalli fuq il-VPN iżda tcp:host,port jaħdem, l-iskoperta hija l-vojt.
Ħafna nies iqisu l-isem tal-host ta' SQL Server bħala indirizz sħiħ, u l-VPN bħala xi ħaġa li hija jew permessa jew le. Fil-prattika istanza msemmija ġġiegħel lill-klijent jagħmel tieni tfittxija wara d-DNS, u dik it-tfittxija hija l-parti li tunnel ħafna drabi jkisser. Punt tat-tmiem espliċitu jevitàha, għalhekk tcp:host,port jista' jaħdem filwaqt li host\INSTANCE jiskadi. Id-differenza hija bejn li ssib is-servizz u li tikseb permess biex tużah.
Il-mit: isem wieħed tal-host ifisser port wieħed
L-isem tal-host jiġi riżolt f'indirizz, u hemm jintemm xogħlu. Istanza msemmija żżid isem tal-istanza li s-server irid jittraduċi f'port TCP, u l-klijent ma jistax jaqta' dan. Il-port 1433 huwa l-prekondizzjoni għal istanza prekondizzjoni, mhux proprjetà ta' kull istanza fil-magna. Jekk it-tnejn jiġu trattati bħala l-istess ħaġa, tirriżulta s-sintomu klassiku: ping jaħdem, DNS jaħdem, l-iskenn tal-1433 ma juri xejn, u l-konklużjoni hija li n-netwerk jimblokka SQL.
It-tieni suppożizzjoni tfalli bl-istess mod: li jkun biżżejjed tiftaħ TCP 1433. Jekk l-istanza tisma' band'oħra, 1433 miftuħa tipprova biss li hemm xi ħaġa oħra hemmhekk. Il-port irid jaqbel mas-semmiegħ, u li s-semmiegħ huwa dettall tal-konfigurazzjoni fuq in-naħa tas-server dan għandu jiġi mistoqsi minflok ma jiġi preżunt.
X'jagħmel il-klijent fil-verità ma' istanza msemmija
Wara li jirriżolvi l-host, il-klijent jibgħat talba ta' skoperta lil SQL Server Browser fuq UDP 1434 u jistaqsi liema port tuża l-istanza msemmija. Is-servizz tal-browser iwieġeb mir-reġistru tas-server stess, u mbagħad il-klijent jiftaħ konnessjoni TCP ma' dak il-port. Żewġ protokolli u żewġ ports huma involuti qabel ma jiġi ppruvat anke login.
nslookup sqlhost.corp.example
nc -vzu sqlhost.corp.example 1434
Get-Service -Name SQLBrowser
Għalhekk imblokk ta' UDP biss jipproduċi timeout li jidher bħala host mejjet. Jekk is-servizz tal-browser huwa mwaqqaf jew diżattivat, it-talba ta' skoperta tibqa' mingħajr tweġiba għalkemm il-magna tal-bażi tad-dejta tkun qed taħdem u l-port TCP tagħha jkun miftuħ. Jekk l-istanza hija kkonfigurata b'port statiku, il-klijent xorta jistaqsi sakemm ma jingħatax il-punt tat-tmiem direttament. Kull waħda minn dawn il-fallimenti tidher l-istess fil-messaġġ tal-iżball tal-applikazzjoni, u jeħtieġu tiswijiet differenti.
Is-servizz tal-browser huwa kumdità għall-iskoperta, mhux il-bażi tad-dejta. Li twaqqfu ma jwaqqafx il-magna, u li tibdih ma tiftaħx il-port TCP tal-istanza.
Għaliex il-punt tat-tmiem espliċitu jaħdem meta l-isem ma jaħdimx
Punt tat-tmiem espliċitu jneħħi t-tfittxija mis-sekwenza: il-klijent jikkonnettja direttament mal-indirizz u l-port li semmejt. Dan huwa l-ewwel dijanjosi, mhux awtomatikament tiswija permanenti, għax il-port jista' jinbidel jekk l-istanza wara tiġi kkonfigurata mill-ġdid għal waħda dinamika. Qabbel iż-żewġ forom bl-istess klijent u bl-istess kont qabel ma tasal għal konklużjonijiet.
sqlcmd -S "tcp:sqlhost.corp.example,51433" -U app_login -Q "SELECT @@SERVERNAME"
Test-NetConnection sqlhost.corp.example -Port 51433
Jekk il-forma espliċita tirnexxi u l-forma msemmija tfalli, l-iskoperta hija l-vojt, u tista' tagħżel kif tagħlqu: ippermetti UDP 1434 mit-tunnel, jew itlob lill-amministratur jiffissa port statiku u jiddokumenta l-punt tat-tmiem. It-tnejn huma deċiżjonijiet intenzjonati bi spejjeż ta' manutenzjoni differenti. Li tiftaħ kull port fil-firxa mhuwiex lanqas wieħed minnhom, u hija l-għażla li għandha t-tendenza tiġi proposta fl-aħħar ta' ġurnata twila. Irreġistra l-għażla fejn jgħixu l-istringi tal-konnessjoni.
Jekk l-ebda forma ma taħdem, il-problema tinsab 'il fuq mill-iskoperta. Iċċekkja s-semmiegħ, ir-rotta u r-regola tal-aċċess għall-port li l-istanza fil-fatt tuża qabel ma tagħti l-ħtija lis-servizz tal-browser.
Wara l-iskoperta: awtentikazzjoni u identità huma separati
Falliment tal-login huwa avveniment differenti minn timeout, u l-identità tal-VPN ma ssirx login SQL minħabba t-tunnel. Ladarba l-klijent jilħaq il-port it-tajjeb, il-magna tal-bażi tad-dejta tapplika l-awtentikazzjoni u l-permessi tagħha stess. Li tħallat iż-żewġ stadji fi tikket wieħed huwa l-mod kif problema tal-iskoperta tinġieb quddiem it-tim żbaljat. Aqra n-numru tal-iżball qabel ma tbiddel xejn.
Żomm l-isem tal-host iddokumentat jekk is-sewwieq jivvalida ċ-ċertifikat tas-server, għax il-konnessjoni permezz ta' indirizz numeriku tista' tbiddel dak il-kontroll minflok ma ssolvi l-problema oriġinali. Is-sewwieqa riċenti ta' Microsoft jinkriptaw b'mod awtomatiku, għalhekk nuqqas ta' qbil fl-isem jidher bħala żball taċ-ċertifikat wara konnessjoni TCP li tirnexxi. Dan huwa progress, mhux falliment ġdid.
Il-mit li għandu jitwarrab huwa li l-isem tal-host ta' SQL Server huwa indirizz sħiħ. Huwa host flimkien ma', għal istanza msemmija, tfittxija li t-tunnel jista' ma jġorrx. Semmi l-port, semmi t-triq tal-iskoperta, u l-falliment li jmiss jgħidlek liema saff għandu jiġi rranġat.