Жок, туташуу сабы VPN туннелин иштете албайт
VPN операциялык системага же кардарга таандык, драйверге эч качан эмес. Адегенде туннелди көтөрүңүз, домендик каттоо маалыматтарын netonly аркылуу өткөрүңүз, анан курсордун барып-кайтууларын текшериңиз.
Иштеп чыгуучулар туташуу сабы, JDBC URL же tnsnames.ora жазуусу VPNди тандаган жерди дагы эле издейт. Мындай жер жок. Туннелди виртуалдык адаптерди каттаган операциялык система же жеткирүүчүнүн кардары түзөт, ал эми анын үстүндөгү ар бир маалымат базасынын китепканасы ушундан келип чыккан сокет катмарын колдонот. Туташуу сабы хостту, портту жана каттоо маалыматын атайт, жана бул бүт сөздүк.
Уламыш: туташуу сабы туннелди тандай алат
Драйвер хост жана портко TCP сокетин ачат. Анын туннелди көтөрүүчү APIси жок, туннел профили үчүн талаасы жок жана VPN дарбазасына аутентификациялоо жолу жок.
Ошондуктан маршрут пайда болгондон кийин куралдар бирдей жүрүм-турум көрсөтөт. SSMS, DBeaver, Eclipse Data Tools жана жөнөкөй sqlcmd сервер жергиликтүү тармакта тургандай аракет кылат, анткени сокеттин көз карашынан ошондой. Виртуалдык адаптер маалымат базасынын ички тармагын жеткиликтүү кылды, ал эми драйвер мунун кантип болгонун эч качан билбейт.
Бул туташуу сабы үзүлгөн туннелди эмнеге оңдой албастыгын да түшүндүрөт. Байланыш өлгөндө драйвер убакыттын бүтүшү же жалпы тармактык ката тууралуу билдирет, ал эми муну суроо көйгөйү деп эсептеген колдонмо кодү түбөлүккө туура эмес катмарды кайталайт.
Туннелди драйвер иштегенге чейин көтөрүңүз
VPNге операциялык система деңгээлинде туташыңыз, провайдердин же тармак тобунун нускамаларын аткарып, анан гана куралды ачыңыз. Иш жүзүндө бул драйвер хосттун атын чечкенге чейин маалымат базасынын ички тармагына маршрут бар дегенди билдирет.
Туннелди көзөмөлдөөнү колдонмодон тышкары кармаңыз. Байланышты өзү көтөрүүгө аракет кылган PHP же Java кызматы бир провайдердин жүрүм-турумун бизнес кодго жазат, ал эми ар бир ийгиликсиздик которулушу колдонмо чыгарылышына айланат. Туннелге ээ болгон, аны көзөмөлдөгөн жана кайра иштеткен көзөмөлчү суроо жолунан өзүнчө маселе.
Драйверди күнөөлөөдөн мурун маршрутту текшериңиз: эгер хост чечилбесе же порт кабыктан жооп бербесе, эч бир туташуу сабы муну өзгөртпөйт.
Уламыш: Windows аутентификациясынын ийгиликсиздиги маршруттун бузулганын билдирет
VPN аркылуу Windows аутентификациясы көбүнчө тармактык бузулушка окшош ката менен ийгиликсиз аяктайт, ал эми маршрут жакшы. Эсеп башка доменге таандык болуп, ноутбук ага кошула албаса, кардарды иш тактасынын сессиясынын идентификациясынын ордуна ачык каттоо маалыматтары менен иштетиңиз.
runas /noprofile /netonly /user:CORP\dbreader "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"/netonly которгучу бул маалыматтарды алыскы аутентификация үчүн гана сактайт. Туташуу диалогуна ишенүүнүн ордуна сервердин чындап эмнени алганын SELECT SUSER_SNAME() аркылуу ырастаңыз. Сервер дарегинин каттоо маалыматын Windows Credential Manager ичинде сактоо SSMS үчүн иштейт, бирок башка эсептин астында иштеген кызмат үчүн дайыма эмес деп билдирилет, ошондуктан кирүүнү өзгөртүүдөн мурун процесс кайсы идентификацияны колдонгонун текшериңиз.
Кечигүү сервер тараптагы курсорду убакыттын бүтүшүнө айландырат
Сервер тараптагы курсор маалымат базасынан жыйынтыкты кармап, аны акырындык менен алып келүүнү сурайт, бул бир чоң жыйынтыкты көптөгөн кичине барып-кайтууларга айландырат. Жергиликтүү тармакта бул арзан. Ондогон миллисекунд кошумча кечигүүсү бар туннелден өткөндө ошол эле суроо дээрлик эч кандай маалымат өткөрбөй эле буйруктун убакыт бүтүшүнөн ашып кетиши мүмкүн.
Кардар тараптагы курсорго өтүңүз, же алуу өлчөмүн чоңойтуп, саптарды топтоңуз, ошондо барып-кайтуулардын саны азаят. Тар жер — алмашуулардын саны, ал эми байланыштын номиналдык ылдамдыгы эмес, ошондуктан өткөрүү жөндөмдүүлүгүн өлчөө сизди адаштырат, ал эми барып-кайтууларды өлчөө адаштырбайт. Колдонуучуларыңыз чындап тарткан эң чоң жыйынтык топтому менен сынаңыз, дароо кайткан бир саптуу суроо менен эмес. Эгер убакыттын бүтүшү жылып, бирок жоголбосо, буйруктун убакыт бүтүшү менен алуу өлчөмүн чогуу чоңойтуп, кайра өлчөңүз.
Ошол эле арифметика көп сүйлөгөн ORMдерге жана ар бир сапка бир билдирүү чыгарган ар кандай кардарга тиешелүү. Эгер суроо планы жакшы болуп, өткөрүү аз болсо, маалымат базасын жөндөөдөн мурун тармактык алмашууларды санаңыз.
Портту, үлгүнү жана жергиликтүү чыпканы текшериңиз
Аталган үлгү динамикалык портто угат, ошондуктан 1433 деп божомолдобой, портту ырастаңыз. Демейки үлгүдө маанини үлгүнүн SuperSocketNetLib ачкычынын астындагы TcpPort реестр маанисинен окуса болот. Oracle үчүн tnsnames.ora хосту чечилерин, дарек жооп берерин жана угуучу порттун уруксат экенин текшериңиз; 1521 — кеңири таралган демейки, кепилдик эмес.
Анан туннелдин өзүнүн жетүү тизмесин, акырында кардар менен сервер бир эле машина болсо да туташууну тоскон жергиликтүү антивирус же хосттук тосмони четтетиңиз. Конфигурацияны өзгөртүүдөн мурун ийгиликсиз болгон баскычты жазыңыз, анткени атты чечүү, TCP жеткиликтүүлүгү жана TLS же кирүү ар бири башка билдирүү менен ийгиликсиз аяктайт.
Баскычты билетке жазыңыз. Болбосо кийинки адам ушунун баарын баштаган ошол туташуу сабын издөөнү кайталайт.