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"
Ошол даректи конфигурациялаган угуучуңуз менен салыштырыңыз. Дал келбестик экинчи угуучуну же күтүлбөгөн жерде чечилген атты билдирет, жана кийинки кайра жүктөө сиздин оңдооңузду сиздин ордуңузда сынаардан мурун экөөнү тең билүү пайдалуу. Андан кийин хостту кирген колдонуучусуз кайра жүктөп, байланыш ийгиликтүү экенин ырастаңыз. Ошол бир эле сыноо оңдолгон угуучу менен кийинки патч түнүндө ийгиликсиз боло турган убактылуу чечимдин айырмасы.