SQL Server жүктелу кезінде жоқ VPN мекенжайына байланысады
SQL Server-дің сәтсіз байланысуын іске қосу журналынан нақты тыңдаушыға дейін бақылап, содан кейін клиенттерге VPN пулының мекенжайының орнына тұрақты жеке мекенжай беріңіз.
Қызмет әлі жұмыс істеп тұрғанда сәтсіз байланысу туралы SQL Server журналының жолын оқыңыз, сонда сіз апатты емес, жүктелу ретіне тәуелділікті таптыңыз. Дәл осы үйлесім ишара: қозғалтқыш өзіне тыңдауға бұйырылған мекенжай машинада пайда болмай тұрып іске қосылған. Кіруден кейін көтерілетін VPN адаптері қадағалаусыз дерекқор қызметі үшін нашар алғышарт, сондықтан сәтсіздікті қозғалтқыш көретін ретпен қарап шығыңыз.
Бастауды клиенттен емес, іске қосу журналынан бастаңыз
Дайындалымның қате журналын ашып, тек соңғы жолды емес, желіні іске қосу төңірегіндегі жазбаларды оқыңыз. Қозғалтқыш қандай мекенжайларды сынап көргенін және қандай протоколдарды қосқанын хабарлайды, ал бұл жазба кез келген клиент қосылғанға дейінгі. Енді хостта дәл қазір не бар екенін қараңыз. Егер конфигурацияланған мекенжайға ие интерфейс пайдаланушы кіріп, клиентті іске қосқаннан кейін ғана пайда болса, онда мекенжай жүктелу кезінде болмаған және байланысу сәтсіздігі толық түсіндіріледі.
Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixOrigin
Get-Content 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\LOG\ERRORLOG' -Tail 40
Дайындалым жолын өз орнатылымыңызға сәйкестендіріңіз және қорытынды жасамас бұрын интерфейстер тізімін оқыңыз. Бар болғанымен дұрыс емес адаптерге тиесілі мекенжай әлі жоқ мекенжайдан өзге мәселе.
Қозғалтқыш іс жүзінде ұстанатын байланысу ретін қарап шығыңыз
Қозғалтқыш тыңдаушы конфигурациясын оқып, содан кейін операциялық жүйеден байланысуды сұрайды. Егер мекенжай сол сәтте жергілікті болмаса, сол мекенжай үшін байланысу сәтсіз аяқталады, ал дайындалымның қалған бөлігі қалыпты жалғаса алады. Сондықтан басқа протоколдар немесе басқа мекенжайлар әлі де жұмыс істей алады, және сондықтан «SQL Server өшіп қалды» дұрыс емес қорытынды. Журналдан нақты соңғы нүктені сақтаңыз: мекенжай, порт және протокол, өйткені түзету осы үшеуінің қайсысы қате екеніне байланысты.
Адаптер пайда болғаннан кейін қызметті қайта іске қосу әдетте тыңдаушыны сәтті етеді, және дәл осы тұзақ. Бұл тәуелділікті жоя салмай, дәлелдейді және туннель әр қайта қосылған сайын барлық қосылған пайдаланушыны үзеді.
Тыңдаушыны қозғалтқыш оқығандай оқыңыз
SQL Server Configuration Manager-де дайындалымның TCP/IP қасиеттерін ашып, жекелеген мекенжайларды өңдеуден бұрын Listen All параметріне назар аударыңыз. Listen All Yes болғанда, әр мекенжайдың Enabled мәндері еленбейді, сондықтан оларды өңдеу тыңдаушы қолданатын ештеңені өзгертпейді. Үш нәрсені ретімен жазыңыз: қызмет көрсеткіңіз келетін мекенжай, порт және тыңдаушы барлық мекенжайды әлде тек біреуін қамтуы керек пе. Содан кейін өзгерісті қолдау көрсетілген қайта іске қосу процедурасымен қолданыңыз және қозғалтқыш сіз сұрағанды байланыстырғанын растау үшін келесі іске қосу журналын оқыңыз.
Барлық мекенжайда тыңдау қатынауды басқару емес. Егер кең тыңдаушы шынымен қажет болса, әр қолжетімді интерфейске өзінің фаервол және дерекқор рұқсаты шешімі керек, интернетке қарайтын кез келген интерфейс қоса.
Клиентке тұрақты барар жер беріңіз
Клиентке дерекқор хостының пул мекенжайын киюі қажет емес. Маршрутталған жобалау сервер өзінің тұрақты жеке мекенжайында тыңдағанда жұмыс істейді, ал VPN қақпасы клиент трафигін оған бағыттап, жауапты қайтарады.
Test-NetConnection -ComputerName 10.80.0.15 -Port 1433
tracert -d 10.80.0.15
Егер клиент 10.80.0.15-ке жетсе, жол дәлелденген және дерекқор тек сол клиентке рұқсат беруі керек. Егер жетпесе, тыңдаушыға қайта тиер алдында маршруттауды және DNS-ті түзетіңіз, өйткені сервердегі байланысу мәселесі клиенттің оны таба алмауының себебі ешқашан болмаған. Серверге жалған пул мекенжайын немесе тыңдаушыны қуанту үшін екінші әдепкі қақпаны қосу ескінің үстіне жаңа желілік мәселе жасайды. Сервердің мекенжайларын статикалық ұстаңыз және туннель клиенттерді оған жеткізсін.
Клиент қолданған соңғы нүктені тексеріңіз
Порт сынағының орнына қолданба деңгейіндегі тексерумен аяқтаңыз. Клиенттен қолданба қолданатын тіркелгімен қосылып, сервер жағындағы қосылым мәліметтерін оқыңыз, олар сессияңыз қонған жергілікті мекенжайды көрсетеді.
sqlcmd -S tcp:10.80.0.15,1433 -Q "SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID"
Сол мекенжайды конфигурациялаған тыңдаушыңызбен салыстырыңыз. Сәйкессіздік екінші тыңдаушыны немесе күтпеген жерде шешілетін атауды білдіреді, және келесі қайта жүктеу сіздің түзетуіңізді сіздің орныңызда сынамас бұрын екеуін де білген жөн. Содан кейін хостты кірген пайдаланушысыз қайта жүктеп, байланысудың сәтті екенін растаңыз. Дәл сол бір сынақ түзетілген тыңдаушы мен келесі патч түнінде сәтсіз болатын уақытша шешімнің айырмашылығы.