એસક્યુએલ સર્વર એન્ક્રિપ્શન ભૂલને ઠીક કરો - એક ક્લિક સોલ્યુશન
SQL સર્વર કનેક્ટ થાય છે, પછી લોગિનનો ઇનકાર કરે છે કારણ કે તે સર્વરના પ્રમાણપત્ર પર વિશ્વાસ કરી શકતો નથી. આ કોઈ નેટવર્ક સમસ્યા નથી અને તમારો ડેટા ગયો નથી - તે વિશ્વાસની સમસ્યા છે. વિડિયો બતાવે છે તે ક્રમમાં સુધારાઓ દ્વારા કાર્ય કરો: ઝડપી ક્લાયંટ-સાઇડ વિકલ્પ, એપ્લિકેશન કનેક્શન સ્ટ્રિંગની અંદર સમાન સ્વિચ અને સર્વર પર જ યોગ્ય સુધારો.
📑પ્રકરણો
- લૉગિન ભૂલ - "પ્રમાણપત્ર સાંકળ એવા અધિકારી દ્વારા જારી કરવામાં આવી હતી જે વિશ્વસનીય નથી"
- ભૂલનો ખરેખર અર્થ શું છે - એન્ક્રિપ્શનની માંગણી છે, સર્વરનું પ્રમાણપત્ર તેની ઓળખ સાબિત કરી શકતું નથી
- ઝડપી ક્લાયંટ ફિક્સ - SSMS કનેક્ટ વિન્ડોમાં સર્વર પ્રમાણપત્ર પર વિશ્વાસ કરો
- એપ્લિકેશન કનેક્શન સ્ટ્રિંગમાં સમાન ફિક્સ
- યોગ્ય સુધારો - સર્વરને એક વાસ્તવિક પ્રમાણપત્ર આપો જે ગ્રાહકોને તેમના પોતાના પર વિશ્વાસ કરે છે
- ફિક્સની ચકાસણી કરી રહ્યા છીએ - કડક રીતે ફરીથી કનેક્ટ કરો અને સાબિત કરો કે એન્ક્રિપ્શન ખરેખર ચાલુ છે
📋 વિહંગાવલોકન અને પગલું-દર-પગલાની માર્ગદર્શિકા
ભૂલ વાંચો - તે ટ્રસ્ટની સમસ્યા છે, નેટવર્કની સમસ્યા નથી
તમારું નેટવર્ક સારું છે અને સર્વર ચાલી રહ્યું છે. કનેક્શન SQL સર્વર સુધી પહોંચ્યું, સર્વરે લોગિન માટે એક એન્ક્રિપ્ટેડ ચેનલ ઓફર કરી, અને તમારા PC એ તેનો ઇનકાર કર્યો કારણ કે સર્વરની ઓળખ સાબિત કરતું પ્રમાણપત્ર તમારા PC પર વિશ્વાસ કરતા કોઈ વ્યક્તિ દ્વારા સહી થયેલ નથી. સંપૂર્ણ ભૂલ SSMS બતાવે છે:
ડિફૉલ્ટ રૂપે, SQL સર્વર લૉગિનને સ્વ-હસ્તાક્ષરિત પ્રમાણપત્ર સાથે સુરક્ષિત કરે છે જે તે પોતે બનાવે છે. સ્વ-હસ્તાક્ષરિત પ્રમાણપત્ર ટ્રાફિકને એન્ક્રિપ્ટ કરે છે, પરંતુ તે સાબિત કરી શકતું નથી કે સર્વર ખરેખર તમારું સર્વર છે, તેથી ક્લાયંટ કે જેઓ ચકાસાયેલ એન્ક્રિપ્શનની માંગ કરે છે તેઓ તેને નકારે છે. દરેક પ્રમાણિક સુધારણા એ બે બાબતોમાંથી એક છે: ક્લાયન્ટને આ ચોક્કસ સર્વરને જાણી જોઈને સ્વીકારવા દો (પગલાં 2 અને 3), અથવા સર્વરને ક્લાયન્ટને તેમના પોતાના પર વિશ્વાસનું પ્રમાણપત્ર આપો (પગલું 4).
SSMS માં ઝડપી ક્લાયન્ટ ફિક્સ - ટ્રસ્ટ સર્વર પ્રમાણપત્ર
આ વીડિયોમાં બતાવેલ ઝડપી રસ્તો છે. તે સર્વર પર કંઈપણ બદલતું નથી; તે આ એક કનેક્શનને સર્વરનું પ્રમાણપત્ર કોણે સહી કર્યું છે તે તપાસ્યા વિના સ્વીકારવાનું કહે છે. SSMS સર્વર સાથે કનેક્ટ કરો વિન્ડોમાં, વધારાની ટેબ્સ ખોલવા માટે વિકલ્પો પર ક્લિક કરો, કનેક્શન પ્રોપર્ટીઝ ટૅબ પર જાઓ, એન્ક્રિપ્શનને ફરજિયાત પર સેટ કરો (અથવા તેને ઑફર કર્યા મુજબ છોડી દો), ટ્રસ્ટ સર્વર પ્રમાણપત્ર પર ટિક કરો, અને કનેક્ટ કરો ક્લિક કરો. લૉગિન તરત જ થઈ જાય છે.
એપ્લિકેશન કનેક્શન સ્ટ્રિંગની અંદર સમાન ફિક્સ
જો SSMS ને બદલે એપ્લિકેશન નિષ્ફળ જાય, તો તે જ સ્વીચ તેની કનેક્શન સ્ટ્રિંગમાં રહે છે. બે સેટિંગ્સ સ્પષ્ટપણે ઉમેરો - Encrypt=True સુરક્ષિત ચેનલને ચાલુ કરે છે, અને TrustServerCertificate=True એ SSMS ચેકબોક્સની કનેક્શન-સ્ટ્રિંગ જોડણી છે:
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;
ઉદાહરણ મૂલ્યોની જગ્યાએ તમારા પોતાના સર્વર નામ, ડેટાબેઝ અને લોગિનનો ઉપયોગ કરો. ટ્રેડ-ઓફ એક વધારાના જોખમ સાથે, સ્ટેપ 2 માં ચેકબોક્સની જેમ જ છે: મોકલેલ એપ્લિકેશનના રૂપરેખાંકનમાં બેક કરેલ, છોડવામાં આવેલ ચેક દરેક વપરાશકર્તાને અદ્રશ્ય અને કાયમી રૂપે લાગુ પડે છે. તેને ડેવલપમેન્ટ અને સ્ટેજીંગ કન્ફિગરેશનમાં રાખો અને પ્રોડક્શનમાં સ્ટેપ 4 માં સર્વર સર્ટિફિકેટ ન આવે ત્યાં સુધી તેને ઉધાર લીધેલા સમય તરીકે માનો.
એનક્રિપ્ટ ચાલુ કર્યા. કનેક્શન સ્ટ્રિંગ્સ કે જેણે ક્યારેય એન્ક્રિપ્શનનો ઉલ્લેખ કર્યો નથી, તે સર્વર્સની સામે તેની માંગ કરવાનું શરૂ કર્યું કે જેમના સ્વ-હસ્તાક્ષરિત પ્રમાણપત્રો માન્યતા પસાર કરી શકતા નથી. તમારા ડેટાબેઝ વિશે કંઈ બદલાયું નથી; શબ્દમાળા અંદર કરાર કર્યું. સેટિંગ્સને સ્પષ્ટ રીતે લખવાનો અર્થ એ છે કે આગલું ડ્રાઇવર અપડેટ તમારી પીઠ પાછળ તમારી એપ્લિકેશનના વર્તનને બદલી શકશે નહીં.યોગ્ય સુધારો - સર્વરને વાસ્તવિક પ્રમાણપત્ર આપો
કાયમી સમારકામ સર્વર પર એકવાર થાય છે, અને પછીથી દરેક ક્લાયંટ કોઈ ચેકબોક્સ અને કોઈ ચેતવણી વિના સખત રીતે જોડાય છે. પહેલા તમારા આંતરિક પ્રમાણપત્ર અધિકારી અથવા સાર્વજનિક CA પાસેથી સર્વરના સંપૂર્ણ DNS નામ (ઉદાહરણ તરીકે sql01.company.local) માટેનું પ્રમાણપત્ર મેળવો, જેમાં સર્વર ઓથેન્ટિકેશન વપરાશ છે. તેને, તેની ખાનગી કી સાથે, SQL સર્વર મશીન પરના સ્થાનિક કમ્પ્યુટર પ્રમાણપત્ર સ્ટોરમાં આયાત કરો. પછી પ્રમાણપત્ર પર જમણું-ક્લિક કરો, બધા કાર્યો → ખાનગી કી મેનેજ કરો પસંદ કરો, અને ખાનગી કી પર SQL સર્વર સેવા ખાતાને વાંચો પરવાનગી આપો. SQL સર્વર કન્ફિગરેશન મેનેજર ખોલો, SQL સર્વર નેટવર્ક કન્ફિગરેશન વિસ્તૃત કરો, MSSQLSERVER માટે પ્રોટોકોલ્સ પર જમણું-ક્લિક કરો, પ્રોપર્ટીઝ પસંદ કરો અને પ્રમાણપત્ર ટૅબ પર પ્રમાણપત્ર પસંદ કરો. ફ્લેગ્સ ટૅબ પર તમે ફોર્સ એન્ક્રિપ્શનને હા પર પણ સેટ કરી શકો છો જેથી દરેક ક્લાયન્ટને એન્ક્રિપ્ટ કરવું જરૂરી છે. SQL સર્વર સેવા પુનઃપ્રારંભ કરો - જ્યાં સુધી તમે ન કરો ત્યાં સુધી ફેરફાર કંઈ કરતું નથી.
ફિક્સ ધ સ્ટ્રિક્ટ વે ચકાસો
એક લોગિન જે શાંતિથી સફળ થાય છે તે લોકો જે વિચારે છે તેના કરતા ઓછું સાબિત થાય છે, કારણ કે કેટલાક સેટિંગ સંયોજનો વાસ્તવિક સુરક્ષા વિના કનેક્ટ થાય છે. બંને ભાગોને સાબિત કરો. પ્રથમ, ક્લાયન્ટથી કડક રીતે ફરીથી કનેક્ટ કરો: સર્વરના DNS નામનો ઉપયોગ કરીને કનેક્ટ કરો - પ્રમાણપત્રની અંદરનું નામ - એન્ક્રિપ્શનને ફરજિયાત પર સેટ કરો અને ટ્રસ્ટ સર્વર પ્રમાણપત્રને ટિક કર્યા વિના છોડો. લૉગિન કોઈ ચેતવણી વિના સફળ થવું જોઈએ. પછી, તે જ સત્રમાં, સર્વરને પૂછો કે શું કનેક્શન ખરેખર SSMS માં આ ક્વેરી ચલાવીને એન્ક્રિપ્ટ થયેલ છે:
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
encrypt_option દર્શાવે છે કે TRUE પાસિંગ ગ્રેડ છે. કાર્યકારી લૉગિન સાથે FALSE નો અર્થ છે કનેક્શન સંરક્ષણને છોડીને સફળ થયું, અને કાર્ય પૂર્ણ થયું નથી. તે પાસિંગ ટેસ્ટ એ વાસ્તવિક સમાપ્તિ રેખા છે: કોઈપણ યોગ્ય રીતે રૂપરેખાંકિત ક્લાયંટ, ભવિષ્યના SSMS સંસ્કરણો સહિત, હવે સંપૂર્ણ માન્યતા સાથે જોડાય છે અને કોઈ વિશિષ્ટ સેટિંગ્સ નથી.
🏷️વિષય શોધ ચલો અને કીવર્ડ્સ
🎙️ સંપૂર્ણ ટ્રાન્સક્રિપ્ટ — વિસ્તૃત કરવા માટે ટૅપ કરો
__TOK_24__
__TOK_25__
__TOK_26__
❓ વારંવાર પૂછાતા પ્રશ્નો
શું આ ટ્યુટોરીયલ અનુસરવા માટે 100% મફત છે?
__TOK_27__
શું નવા નિશાળીયા આ માર્ગદર્શિકાને અનુસરી શકે છે?
__TOK_28__
જો હું અટકી જાઉં તો હું ક્યાં પ્રશ્નો પૂછી શકું?
__TOK_29__