Жоқ, қосылым жолы 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 немесе кіру әрқайсысы басқа хабарламамен сәтсіз аяқталады.
Кезеңді билетке жазыңыз. Әйтпесе келесі адам осының бәрін бастаған сол қосылым жолын іздеуді қайталайды.