VPN හරහා SQL Server නම් කළ අවස්ථාව: 1433 තොටුව නොව සොයාගැනීම
නම් කළ අවස්ථාව සම්බන්ධ වීමට පෙර SQL Browser වෙතින් තොටුවක් අසයි. නම VPN හරහා අසාර්ථක වුවත් tcp:host,port ක්රියා කරන්නේ නම්, හිඩැස වන්නේ සොයාගැනීමයි.
බොහෝ දෙනා SQL Server හෝස්ට් නාමය සම්පූර්ණ ලිපිනයක් ලෙසත්, VPN එක අවසර දී ඇති හෝ නොදෙන දෙයක් ලෙසත් සලකති. ප්රායෝගිකව නම් කළ අවස්ථාවක් ක්ලයන්ට් එකට DNS පසුව දෙවන සෙවීමක් කිරීමට බල කරන අතර, උමං මාර්ගය වැඩිපුරම කඩන්නේ එම සෙවීමයි. පැහැදිලි අන්ත ලක්ෂ්යයක් එය මඟ හරියි, එබැවින් tcp:host,port ක්රියා කළ හැකි අතර host\INSTANCE කාලය ඉක්මවා යයි. වෙනස සේවාව සොයා ගැනීම සහ එය භාවිත කිරීමට අවසර ලැබීම අතරය.
මිථ්යාව: එක් හෝස්ට් නාමයක් යනු එක් තොටුවක්
හෝස්ට් නාමය ලිපිනයකට විසඳෙන අතර එතැනින් එහි කාර්යය අවසන් වේ. නම් කළ අවස්ථාවක් සේවාදායකය TCP තොටුවකට පරිවර්තනය කළ යුතු අවස්ථා නාමයක් එකතු කරන අතර, ක්ලයන්ට්ට එය අනුමාන කළ නොහැක. 1433 තොටුව පෙරනිමි අවස්ථාවක පෙරනිමිය වන අතර, යන්ත්රයේ සෑම අවස්ථාවකම ගුණාංගයක් නොවේ. දෙකම එකම දෙය ලෙස සැලකීමෙන් සම්භාව්ය රෝග ලක්ෂණය ඇති වේ: ping ක්රියා කරයි, DNS ක්රියා කරයි, 1433 ස්කෑනය කිසිවක් නොපෙන්වයි, සහ ජාලය SQL අවහිර කරන බවයි නිගමනය.
දෙවන උපකල්පනයද එලෙසම අසාර්ථක වේ: TCP 1433 විවෘත කිරීම ප්රමාණවත් බව. අවස්ථාව වෙනත් තැනක සවන් දෙන්නේ නම්, විවෘත 1433 කියන්නේ එහි වෙනත් දෙයක් ඇති බව පමණි. තොටුව සවන්දෙන්නාට ගැලපිය යුතු අතර, සවන්දෙන්නා සේවාදායක පැත්තේ වින්යාස විස්තරයක් බව එය අනුමාන කරනවාට වඩා ඇසිය යුතුය.
නම් කළ අවස්ථාවක් සමඟ ක්ලයන්ට් සැබවින්ම කරන්නේ කුමක්ද
හෝස්ට් විසඳීමෙන් පසු ක්ලයන්ට් UDP 1434 හරහා SQL Server Browser වෙත සොයාගැනීමේ ඉල්ලීමක් යවා, නම් කළ අවස්ථාව භාවිත කරන තොටුව කුමක්දැයි අසයි. බ්රවුසර සේවාව සේවාදායකයේම ලේඛනාගාරයෙන් පිළිතුරු දෙන අතර, පසුව ක්ලයන්ට් එම තොටුවට TCP සම්බන්ධතාවක් විවෘත කරයි. පිවිසීම උත්සාහ කිරීමටත් පෙර ප්රොටෝකෝල දෙකක් සහ තොටු දෙකක් සම්බන්ධ වේ.
nslookup sqlhost.corp.example
nc -vzu sqlhost.corp.example 1434
Get-Service -Name SQLBrowser
එබැවින් UDP පමණක් අවහිර කිරීම මිය ගිය හෝස්ට් එකක් මෙන් පෙනෙන කාල ඉක්මවීමක් ඇති කරයි. බ්රවුසර සේවාව නතර කර හෝ අක්රීය කර ඇත්නම්, දත්ත සමුදාය එන්ජිම ක්රියා කරමින් එහි TCP තොටුව විවෘතව තිබියදීත් සොයාගැනීමේ ඉල්ලීම පිළිතුරකින් තොරව පවතී. අවස්ථාව ස්ථිතික තොටුවකින් වින්යාස කර ඇත්නම්, අන්ත ලක්ෂ්යය සෘජුව ලබා දී නොමැති නම් ක්ලයන්ට් තවමත් අසයි. මෙම එක් එක් අසාර්ථකත්වය යෙදුමේ දෝෂ පණිවිඩයේ සමාන ලෙස පෙනෙන අතර, ඒවාට වෙනස් අලුත්වැඩියා අවශ්ය වේ.
බ්රවුසර සේවාව සොයාගැනීමේ පහසුවක් මිස දත්ත සමුදාය නොවේ. එය නතර කිරීමෙන් එන්ජිම නතර නොවන අතර, එය ආරම්භ කිරීමෙන් අවස්ථාවේ TCP තොටුව විවෘත නොවේ.
නාමය ක්රියා නොකරන විට පැහැදිලි අන්ත ලක්ෂ්යය ක්රියා කරන්නේ ඇයි
පැහැදිලි අන්ත ලක්ෂ්යයක් සෙවීම අනුපිළිවෙලින් ඉවත් කරයි: ක්ලයන්ට් ඔබ නම් කළ ලිපිනයට සහ තොටුවට සෘජුව සම්බන්ධ වේ. මෙය මුලින්ම රෝග විනිශ්චයක් මිස ස්වයංක්රීයව ස්ථිර විසඳුමක් නොවේ, මන්ද අවස්ථාව පසුව ගතික තොටුවකට නැවත වින්යාස කළහොත් තොටුව වෙනස් විය හැක. නිගමනවලට එළඹීමට පෙර එකම ක්ලයන්ට් සහ එකම ගිණුම සමඟ ආකෘති දෙක සසඳන්න.
sqlcmd -S "tcp:sqlhost.corp.example,51433" -U app_login -Q "SELECT @@SERVERNAME"
Test-NetConnection sqlhost.corp.example -Port 51433
පැහැදිලි ආකෘතිය සාර්ථක වී නම් කළ ආකෘතිය අසාර්ථක වුවහොත්, හිඩැස වන්නේ සොයාගැනීමයි, සහ එය වසා දැමිය යුත්තේ කෙසේදැයි ඔබට තෝරා ගත හැක: උමං මාර්ගය හරහා UDP 1434 ට අවසර දෙන්න, නැතහොත් පරිපාලකගෙන් ස්ථිතික තොටුවක් ඇමිණීමට සහ අන්ත ලක්ෂ්යය ලේඛනගත කිරීමට ඉල්ලන්න. දෙකම වෙනස් නඩත්තු පිරිවැය සහිත හිතාමතා ගත් තීරණ වේ. පරාසයේ සෑම තොටුවක්ම විවෘත කිරීම ඒ දෙකෙන් එකක්වත් නොවන අතර, දිගු දිනයක අවසානයේ යෝජනා වන විකල්පය එයයි. සම්බන්ධතා තන්තු ජීවත් වන තැන තේරීම සටහන් කරන්න.
කිසිදු ආකෘතියක් ක්රියා නොකරන්නේ නම්, ගැටලුව සොයාගැනීමට ඉහළින් පවතී. බ්රවුසර සේවාවට දොස් පැවරීමට පෙර සවන්දෙන්නා, මාර්ගය සහ අවස්ථාව සැබවින්ම භාවිත කරන තොටුව සඳහා ප්රවේශ නියමය පරීක්ෂා කරන්න.
සොයාගැනීමෙන් පසු: සත්යාපනය සහ අනන්යතාවය වෙන් වේ
පිවිසුම් අසාර්ථකත්වය කාල ඉක්මවීමට වඩා වෙනස් සිදුවීමක් වන අතර, උමං මාර්ගය නිසා VPN අනන්යතාවය SQL පිවිසුමක් බවට නොපත් වේ. ක්ලයන්ට් නිවැරදි තොටුවට ළඟා වූ පසු, දත්ත සමුදාය එන්ජිම එහිම සත්යාපනය සහ අවසරයන් යොදයි. පියවර දෙක එකම ටිකට්ටුවක මිශ්ර කිරීම සොයාගැනීමේ ගැටලුවක් වැරදි කණ්ඩායමට භාර දෙන ක්රමයයි. යමක් වෙනස් කිරීමට පෙර දෝෂ අංකය කියවන්න.
ධාවකය සේවාදායකයේ සහතිකය සත්යාපනය කරන්නේ නම් ලේඛනගත හෝස්ට් නාමය තබා ගන්න, මන්ද සංඛ්යාත්මක ලිපිනයකින් සම්බන්ධ වීම මුල් ගැටලුව විසඳීම වෙනුවට එම පරීක්ෂාව වෙනස් කළ හැක. නවතම Microsoft ධාවක පෙරනිමියෙන් සංකේතනය කරයි, එබැවින් නාම නොගැලපීම සාර්ථක TCP සම්බන්ධතාවකින් පසු සහතික දෝෂයක් ලෙස දිස් වේ. එය නව අසාර්ථකත්වයක් නොව ප්රගතියකි.
අත්හැරිය යුතු මිථ්යාව වන්නේ SQL Server හෝස්ට් නාමය සම්පූර්ණ ලිපිනයක් යන විශ්වාසයයි. එය හෝස්ට් එකක් වන අතර, නම් කළ අවස්ථාවක් සඳහා උමං මාර්ගය නොගෙන යා හැකි සෙවීමක් එකතු වේ. තොටුව නම් කරන්න, සොයාගැනීමේ මාර්ගය නම් කරන්න, එවිට ඊළඟ අසාර්ථකත්වය කුමන ස්ථරය අලුත්වැඩියා කළ යුතුදැයි කියනු ඇත.