Technical Anshu Home › Mga Tutorial › SQL Server Encryption Error
🔐 Pag-aayos ng SQL Server

Ayusin ang Error sa Pag-encrypt ng SQL Server - Isang Pag-click na Solusyon

Kumokonekta ang SQL Server, pagkatapos ay tumanggi sa pag-login dahil hindi nito mapagkakatiwalaan ang certificate ng server. Ito ay hindi isang problema sa network at ang iyong data ay hindi nawala - ito ay isang problema sa tiwala. Gawin ang mga pag-aayos sa pagkakasunud-sunod na ipinapakita ng video sa kanila: ang mabilis na opsyon sa panig ng kliyente, ang parehong switch sa loob ng string ng koneksyon ng app, at ang wastong pag-aayos sa server mismo.

✍️ Technical Anshu🔐 SQL Server🎧 Multi-Language Audio
Ayusin ang Error sa Pag-encrypt ng SQL Server - Isang Pag-click na Solusyon
🎧 Multi-Language Audio: Sa video player, i-click ang [Settings] (⚙️) ➔ [Audio track] upang piliin ang wika.

📑Mga Kabanata

  1. Ang error sa pag-log in - "Ang chain ng certificate ay ibinigay ng isang awtoridad na hindi pinagkakatiwalaan"
  2. Ano ba talaga ang ibig sabihin ng error - hinihingi ang pag-encrypt, hindi mapapatunayan ng certificate ng server ang pagkakakilanlan nito
  3. Ang mabilis na pag-aayos ng kliyente - Trust server certificate sa SSMS connect window
  4. Ang parehong pag-aayos sa loob ng string ng koneksyon ng application
  5. Ang wastong pag-aayos - bigyan ang server ng isang tunay na certificate na pinagkakatiwalaan ng mga kliyente sa kanilang sarili
  6. Pagbe-verify ng pag-aayos - muling kumonekta sa mahigpit na paraan at patunayan na naka-on talaga ang pag-encrypt

📋 Pangkalahatang-ideya at Step-by-Step na Gabay

1

Basahin ang Error - Ito ay Problema sa Pagtitiwala, Hindi Problema sa Network

Maayos ang iyong network at tumatakbo ang server. Nakarating ang koneksyon sa SQL Server, nag-alok ang server ng naka-encrypt na channel para sa pag-login, at tinanggihan ito ng iyong PC dahil ang sertipiko na nagpapatunay sa pagkakakilanlan ng server ay nilagdaan ng walang pinagkakatiwalaan ng iyong PC. Ang buong error na ipinapakita ng SSMS ay:

📌 Ang error, eksakto kung paano ito ipinapakita ng SSMS: "Matagumpay na naitatag ang isang koneksyon sa server, ngunit may naganap na error sa proseso ng pag-log in. (provider: SSL Provider, error: 0 - Ang chain ng certificate ay ibinigay ng isang awtoridad na hindi pinagkakatiwalaan.)"

Bilang default, pinoprotektahan ng SQL Server ang pag-log in gamit ang isang self-signed certificate na nilikha nito mismo. Ang isang self-sign na certificate ay nag-e-encrypt ng trapiko, ngunit hindi nito mapapatunayan na ang server ay talagang iyong server, kaya tinatanggihan ito ng mga kliyente na humihiling ng na-verify na pag-encrypt. Ang bawat tapat na pag-aayos ay isa sa dalawang bagay: gawin ang kliyente na tanggapin ang partikular na server na ito nang may alam (Mga Hakbang 2 at 3), o bigyan ang server ng isang sertipiko na pinagkakatiwalaan ng mga kliyente sa kanilang sarili (Hakbang 4).

2

Ang Mabilis na Pag-aayos ng Kliyente sa SSMS - Sertipiko ng Trust Server

Ito ang mabilis na ruta na ipinakita sa video. Wala itong pagbabago sa server; sinasabi nito sa isang koneksyon na tanggapin ang sertipiko ng server nang hindi tinitingnan kung sino ang pumirma nito. Sa window ng SSMS Connect to Server, i-click ang Options para buksan ang mga karagdagang tab, pumunta sa tab na Connection Properties, itakda ang encryption sa Mandatory (o iwanan ito bilang inaalok), lagyan ng check ang Trust server certificate, at i-click ang Connect. Ang pag-login ay dumaan kaagad.

⚠️ Alamin kung ano ang ini-off ng checkbox: nananatiling naka-encrypt ang trapiko, ngunit nilaktawan ang pagsusuri sa pagkakakilanlan - tatanggap din ang kliyente ng pekeng server na inilagay sa pagitan. Sa sarili mong LAN ng opisina, para sa isang server na kinokontrol mo, ito ang tinatanggap na pang-araw-araw na solusyon, at sa mga development at test machine ito ay isang patas na kalakalan. Sa internet, o sa isang production server na may hawak na data ng customer, ituring ito bilang isang pansamantalang tulay lamang at tapusin ang trabaho sa Hakbang 4. Ito ay isang tulay, hindi ang destinasyon.
3

Ang Parehong Pag-aayos sa loob ng String ng Koneksyon ng App

Kung nabigo ang isang application sa halip na SSMS, nabubuhay ang parehong switch sa string ng koneksyon nito. Idagdag ang dalawang setting nang tahasan - Ino-on ng Encrypt=True ang protektadong channel, at ang TrustServerCertificate=True ay ang connection-string spelling ng SSMS checkbox:

Connection String
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;

Gamitin ang iyong sariling pangalan ng server, database at pag-login bilang kapalit ng mga halimbawang halaga. Ang trade-off ay eksaktong kapareho ng checkbox sa Hakbang 2, na may dagdag na panganib: inilagay sa configuration ng isang naipadalang application, ang nilaktawan na tseke ay nalalapat sa bawat user, nang hindi nakikita at permanente. Panatilihin ito sa mga configuration ng pag-develop at pagtatanghal, at sa produksyon ay ituring ito bilang hiram na oras hanggang sa mailagay ang certificate ng server sa Hakbang 4.

📌 Bakit nasira ang mga app nang hindi muling binuo: binago ng mga kamakailang driver ang kanilang mga default - Microsoft.Data.SqlClient 5.1 at mas bago, at ODBC Driver 18, naka-on ang Encrypt bilang default. Ang mga string ng koneksyon na hindi kailanman binanggit ang pag-encrypt ay nagsimulang humingi nito, laban sa mga server na ang mga self-sign na certificate ay hindi makapasa sa pagpapatunay. Walang nagbago sa iyong database; ginawa ng kontrata sa loob ng string. Ang pagsusulat ng mga setting ay tahasang nangangahulugan na ang susunod na pag-update ng driver ay hindi mababago ang gawi ng iyong app sa likod mo.
4

Ang Wastong Pag-aayos - Bigyan ang Server ng Tunay na Sertipiko

Nangyayari ang permanenteng pag-aayos nang isang beses, sa server, at pagkatapos ay mahigpit na kumokonekta ang bawat kliyente nang walang checkbox at walang babala. Kumuha muna ng certificate para sa buong DNS name ng server (halimbawa sql01.company.local) mula sa iyong internal na awtoridad sa certificate o isang pampublikong CA, na may Server Authentication na paggamit. I-import ito, kasama ang pribadong key nito, sa tindahan ng sertipiko ng Local Computer sa makina ng SQL Server. Pagkatapos ay i-right-click ang certificate, piliin ang Lahat ng Mga Gawain → Pamahalaan ang Mga Pribadong Key, at bigyan ng pahintulot ang SQL Server service account na Read sa pribadong key. Buksan ang SQL Server Configuration Manager, palawakin ang SQL Server Network Configuration, i-right-click ang Protocols for MSSQLSERVER, piliin ang Properties, at piliin ang certificate sa tab na Certificate. Sa tab na Mga Flags maaari mo ring itakda ang ForceEncryption sa Oo upang ang bawat kliyente ay kinakailangang mag-encrypt. I-restart ang serbisyo ng SQL Server - ang pagbabago ay walang magagawa hanggang sa gawin mo.

✅ Ang dalawang bitag na nagiging sanhi ng halos bawat "hindi ito gumana": isang certificate na ang pangalan ay hindi tumutugma sa pangalan ng mga client na kumonekta (kumonekta sa pamamagitan ng pangalan ng DNS ng server, hindi sa IP address nito), at isang account ng serbisyo na hindi mabasa ang pribadong key. Pagkatapos ng pag-restart, dapat itala ng log ng error sa SQL Server na matagumpay na na-load ang certificate para sa pag-encrypt - kung sa halip ay nagreklamo ito, ang pahintulot ng pribadong key ang unang titingnan.
⚠️ Tungkol sa ForceEncryption: ang pagtatakda nito sa Oo sa server ay pinipilit ang pag-encrypt para sa bawat koneksyon - na siyang tamang end state kapag na-install lang ang pinagkakatiwalaang certificate. Ang pagpilit dito habang ang server ay nagdadala pa rin ng sarili nitong pinirmahang sertipiko ay ginagawang mabibigo ang bawat mahigpit na kliyente sa parehong error na ito, nang sabay-sabay.
5

I-verify ang Ayusin ang Mahigpit na Paraan

Ang isang pag-login na tahimik na nagtagumpay ay nagpapatunay na mas mababa kaysa sa iniisip ng mga tao, dahil ang ilang mga kumbinasyon ng setting ay kumokonekta nang walang tunay na proteksyon. Patunayan ang parehong kalahati. Una, muling kumonekta mula sa isang kliyente sa mahigpit na paraan: kumonekta gamit ang pangalan ng DNS ng server - ang pangalan sa loob ng certificate - itakda ang encryption sa Mandatory at iwanan ang Trust server certificate na walang marka. Ang pag-login ay dapat magtagumpay nang walang babala. Pagkatapos, sa parehong session, tanungin ang server kung ang koneksyon ay aktwal na naka-encrypt sa pamamagitan ng pagpapatakbo ng query na ito sa SSMS:

SQL Query
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

Ang encrypt_option na nagpapakita ng TRUE ay ang passing grade. Ang FALSE na may gumaganang login ay nangangahulugan na ang koneksyon ay nagtagumpay sa pamamagitan ng pagbaba ng proteksyon, at ang trabaho ay hindi tapos. Ang pagpasa sa pagsubok na iyon ay ang tunay na linya ng pagtatapos: anumang wastong na-configure na kliyente, kabilang ang mga hinaharap na bersyon ng SSMS, ngayon ay kumokonekta nang may ganap na pagpapatunay at walang mga espesyal na setting.

🏷️Mga Variable at Keyword sa Paghahanap ng Paksa

🔍 SQLServer 🔍 CertificateNotTrusted 🔍 TrustServerCertificate 🔍 SSMS 🔍 ForceEncryption 🔍 TechnicalAnshu 🔍 SQL Server Encryption Error 🔍 Certificate Chain Not Trusted 🔍 Encrypt Connection 🔍 Connection String Fix 🔍 SQL Server Configuration Manager 🔍 SSL Provider Error
🎙️ Buong Transcript — i-tap para palawakin

__TOK_24__

__TOK_25__

__TOK_26__

❓ Mga Madalas Itanong

Ang tutorial na ito ba ay 100% libre upang sundin?

__TOK_27__

Maaari bang sundin ng mga nagsisimula ang gabay na ito?

__TOK_28__

Saan ako maaaring magtanong kung ako ay natigil?

__TOK_29__

🚀 Panoorin ang Buong Tutorial sa YouTube

__TOK_30__

__TOK_31__

▶️ Panoorin ang Buong Video
Ang tutorial na ito ay batay sa Technical Anshu's Fix SQL Server Encryption Error video • Natigil sa anumang hakbang? Magtanong sa mga komento sa video — makakakuha ka ng tulong doon 🙏