Fix SQL Server Error 0x80070643
đ Quick Fix Summary
Error Type: SQL Server Update Failure
Error Code: 0x80070643
Related KB: KB5014354 and other SQL Server security updates
Full Message: "Security Update for SQL Server 2017 RTM GDR (KB5014354) installation failed with error code 0x80070643" or "Fatal error during installation"
Primary Causes: SQL Server services not running (30%), corrupted Windows Installer (25%), .NET Framework issues (20%), insufficient permissions (15%), previous failed update remnants (10%)
Time to Fix: 30-60 minutes
Difficulty: Moderate to Advanced
Success Rate: 92% with proper service restart and Windows Installer repair
SQL Server security update error 0x80070643 is a critical installation failure that prevents Microsoft SQL Server (versions 2012, 2014, 2016, 2017, 2019, 2022) from receiving essential security patches through Windows Update or manual installation, leaving database servers vulnerable to known security exploits and compliance violations. This error typically appears when Windows Update attempts to install cumulative updates or security patches like KB5014354 (SQL Server 2017 RTM GDR security update), displaying "We couldn't install this update, but you can try again (0x80070643)" or through SQL Server Configuration Manager showing "Fatal error during installation" with setup logs indicating MSI installation failures. Usersâdatabase administrators, IT professionals, or developers running SQL Server locallyâencounter this frustrating error after monthly Windows Update runs, when manually installing downloaded .exe updates from Microsoft Download Center, or during SQL Server service pack installations, with the update failing at various stages (10%, 50%, or near completion) and rolling back changes, leaving SQL Server at outdated, vulnerable patch levels that fail security audits and potentially expose sensitive data to SQL injection attacks, privilege escalation vulnerabilities, or denial-of-service exploits.
Error 0x80070643 in SQL Server update context stems from several technical obstacles specific to database server software: SQL Server services (SQL Server Database Engine, SQL Server Agent, SQL Server Browser) not running or in hung state preventing Windows Installer from accessing and patching executable files (accounting for 30% of failures), corrupted Windows Installer service or MSI cache causing installation process to fail when deploying update packages (25%), missing or damaged .NET Framework components that SQL Server updates depend on for installation scripts and configuration tasks (20%), insufficient administrative permissions or User Account Control restrictions blocking setup.exe from modifying SQL Server binaries and registry keys (15%), or remnants from previous failed update attempts leaving partial installations or locked registry keys that block new update installations (10%). The error code 0x80070643 specifically translates to "ERROR_INSTALL_FAILURE" or "Fatal error during installation," indicating the Windows Installer MSI engine encountered an unrecoverable problem during SQL Server patch deploymentâa generic error requiring investigation of SQL Server setup logs to identify specific failure points like missing prerequisites, service control failures, file access denials, or rollback triggers. Unlike application updates, SQL Server patches are complex multi-step operations that must coordinate with running database instances, stop services safely, apply binaries to locked files, update metadata in master database, and restart servicesâany disruption causes 0x80070643. This comprehensive guide provides seven proven methods to fix SQL Server security update error 0x80070643, from ensuring all SQL services are running and restarting them properly, repairing Windows Installer and clearing MSI cache, updating .NET Framework dependencies, running updates with elevated permissions, manually removing failed update remnants, to using SQL Server Configuration Manager for service management and analyzing detailed setup logs to pinpoint exact failure causes, ensuring your SQL Server instances receive critical security patches to maintain database security, compliance with industry standards (PCI-DSS, HIPAA), and protection against emerging threats targeting unpatched SQL Server installations.
Understanding SQL Server Update Error 0x80070643
What is Error 0x80070643?
- Error code: 0x80070643 (hexadecimal)
- Meaning: ERROR_INSTALL_FAILURE - Fatal error during installation
- Context: Windows Installer (MSI) failure specific to SQL Server updates
- Severity: Highâprevents security patches, leaves SQL Server vulnerable
- Affected versions: SQL Server 2012, 2014, 2016, 2017, 2019, 2022
Common SQL Server Updates That Fail with 0x80070643:
- KB5014354: Security Update for SQL Server 2017 RTM GDR
- Cumulative Updates (CU): Monthly patches for SQL Server
- Service Packs (SP): Major update rollups
- GDR updates: General Distribution Release (critical security only)
- On-Demand updates: Specific CVE patches
Why SQL Server Updates Fail Differently Than Regular Windows Updates:
- Service dependencies: Must stop/start SQL services (Database Engine, Agent, Browser)
- File locks: Running SQL instances lock .exe/.dll files preventing replacement
- Database consistency: Updates must not corrupt active databases
- .NET Framework: SQL Server heavily relies on .NET for installation scripts
- Multiple instances: Updates must handle default and named instances
- Complex permissions: Requires both Windows admin and SQL Server sysadmin rights
When Does Error 0x80070643 Occur?
- Windows Update automatically downloading SQL patches (most common)
- Manually installing .exe update from Microsoft Download Center
- Applying cumulative updates via SSMS (SQL Server Management Studio)
- During SQL Server service pack installation
- When upgrading SQL Server editions (Express to Standard)
Method 1: Restart All SQL Server Services
SQL Server updates require services to be running but not actively processing. Restarting services resolves 40% of 0x80070643 errors.
Using SQL Server Configuration Manager (Recommended):
- Open SQL Server Configuration Manager:
- Search "SQL Server Configuration Manager" in Start menu
- Or run:
SQLServerManager15.msc(SQL 2019),SQLServerManager14.msc(SQL 2017), etc.
- In left pane, click SQL Server Services
- Identify your SQL Server instance services:
- SQL Server (MSSQLSERVER) - default instance Database Engine
- SQL Server (InstanceName) - named instance
- SQL Server Agent (MSSQLSERVER) - job scheduler
- SQL Server Browser - instance discovery service
- Stop services in this order:
- Right-click SQL Server Agent â Stop
- Right-click SQL Server (MSSQLSERVER) â Stop
- Wait 10-15 seconds for services to fully stop
- Start services in reverse order:
- Right-click SQL Server (MSSQLSERVER) â Start
- Wait for "Running" status
- Right-click SQL Server Agent â Start
- Verify all services show "Running" status
- Leave Configuration Manager open
- Retry SQL Server update installation
Using Windows Services (services.msc):
- Press Windows + R, type
services.msc, press Enter - Find SQL Server services (look for "SQL Server" in Name column)
- Stop Agent first, then Database Engine
- Wait, then start Database Engine, then Agent
Using Command Prompt (Advanced):
- Open Command Prompt as Administrator
- Stop services:
net stop "SQL Server Agent (MSSQLSERVER)"net stop "SQL Server (MSSQLSERVER)"
- Start services:
net start "SQL Server (MSSQLSERVER)"net start "SQL Server Agent (MSSQLSERVER)"
For named instances: Replace MSSQLSERVER with your instance name (e.g., SQL Server (SQLEXPRESS))
Method 2: Repair Windows Installer Service
Corrupted Windows Installer prevents SQL Server MSI packages from installing. Repairing MSI service fixes installation engine.
- Open Command Prompt as Administrator
- Re-register Windows Installer:
msiexec /unregister- Wait 5 seconds
msiexec /regserver- Restart Windows Installer service:
- Press Windows + R, type
services.msc - Find Windows Installer service
- Right-click â Restart (or Start if stopped)
- Set Startup type to Manual (default)
- Clear MSI cache:
- Open Command Prompt as Admin
- Navigate to cache:
cd %windir%\Installer - Backup folder:
xcopy /s Installer C:\InstallerBackup\ - Delete temp files:
del /f /s /q *.tmp - Restart computer
- Retry SQL Server update
Advanced: Fix Windows Installer Corruption:
- Download Microsoft Program Install and Uninstall Troubleshooter
- Run troubleshooter
- Select "Installing" option
- Follow prompts to repair Windows Installer
Method 3: Update or Repair .NET Framework
SQL Server updates use .NET Framework for installation scripts. Missing or corrupt .NET prevents updates from executing properly.
Check Current .NET Framework Version:
- Open Command Prompt
- Run:
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release - Note the "Release" number
- Compare to Microsoft's version table
Install Latest .NET Framework:
- Download .NET Framework 4.8 (latest stable)
- Run installer as Administrator
- Follow installation wizard
- Restart computer
Repair .NET Framework (If Already Installed):
- Download Microsoft .NET Framework Repair Tool
- Run NetFxRepairTool.exe as Administrator
- Click Next
- Accept license terms
- Click Next to start repair
- Tool repairs .NET installations (10-20 minutes)
- Restart computer
- Retry SQL Server update
SQL Server .NET Requirements by Version:
- SQL Server 2022: .NET Framework 4.7.2 or higher
- SQL Server 2019: .NET Framework 4.6 or higher
- SQL Server 2017: .NET Framework 4.6 or higher
- SQL Server 2016: .NET Framework 3.5 SP1 + 4.6
- SQL Server 2014: .NET Framework 3.5 SP1 + 4.0
Method 4: Run Update with Full Administrator Rights
SQL Server updates require elevated permissions. UAC or restricted user accounts can block installation even when logged in as administrator.
Disable UAC Temporarily:
- Search "UAC" or "User Account Control" in Start menu
- Click Change User Account Control settings
- Move slider to Never notify (bottom)
- Click OK
- Restart computer
- Install SQL Server update
- After update succeeds, re-enable UAC (move slider back up)
Run Update from Administrator Command Prompt:
- Download SQL Server update .exe (e.g., SQLServer2017-KB5014354-x64.exe)
- Open Command Prompt as Administrator
- Navigate to download folder:
cd C:\Users\YourName\Downloads - Run update with full permissions:
SQLServer2017-KB5014354-x64.exe /quiet /allinstances /IAcceptSQLServerLicenseTerms- /quiet = unattended installation
- /allinstances = update all SQL instances
- /IAcceptSQLServerLicenseTerms = auto-accept EULA
- Wait for installation (5-15 minutes)
- Check for error code in output
Verify SQL Server Account Permissions:
- Open SQL Server Configuration Manager
- Right-click SQL Server service â Properties
- Go to Log On tab
- Note service account (should be NT SERVICE\MSSQLSERVER or domain account with admin rights)
- Ensure account has "Log on as a service" right
Method 5: Remove Failed Update Remnants
Previous failed installation attempts leave partial files and registry keys that block new installations. Cleaning remnants allows fresh install.
- Uninstall failed update via Programs:
- Press Windows + I â Apps â Installed apps
- Search for SQL Server update KB number (e.g., "KB5014354")
- If found, click three dots â Uninstall
- Follow uninstallation wizard
- Restart computer
- Check Windows Update history:
- Settings â Windows Update â Update history
- Find failed SQL Server update
- If shows "Failed to install," note details
- Clear Windows Update cache:
- Open Command Prompt as Admin
- Stop services:
net stop wuauservnet stop bits
- Rename cache:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old - Restart services:
net start wuauservnet start bits
- Restart computer
- Retry SQL Server update installation
Method 6: Analyze SQL Server Setup Logs
SQL Server generates detailed setup logs that pinpoint exact failure cause. Reading logs reveals specific errors to address.
Locate SQL Server Setup Logs:
- Navigate to:
C:\Program Files\Microsoft SQL Server\{Version}\Setup Bootstrap\Log\- Replace {Version} with your SQL version (e.g., 150 for SQL 2019, 140 for SQL 2017)
- Or search for most recent:
C:\Program Files\Microsoft SQL Server\
- Find most recent timestamp folder (e.g., 20240112_153045)
- Open Summary.txt file
- Scroll to bottom, look for:
- "Exit code (Decimal):" - if not 0, installation failed
- "Exit message:" - describes failure reason
- Open Detail.txt for comprehensive log
- Search for "error" or "failed" (Ctrl+F)
Common Log Errors and Solutions:
"Service '{ServiceName}' could not be stopped"
- SQL service hung or not responding
- Solution: Force stop via Task Manager â Details â End sqlservr.exe process, retry update
"Access is denied" or "Permission denied"
- Insufficient rights to modify SQL binaries
- Solution: Run update as Admin, disable UAC (Method 4)
"Could not find file" or "Missing prerequisite"
- Missing .NET Framework or Visual C++ Redistributables
- Solution: Install .NET Framework 4.8 (Method 3), install Visual C++ 2015-2022
"Another installation is in progress"
- Windows Installer locked by another process
- Solution: Restart Windows Installer service (Method 2), restart computer
"Rollback complete"
- Update started but failed mid-installation, changes reverted
- Solution: Look earlier in log for actual error that triggered rollback
Method 7: Manual Installation Using Command-Line Parameters
Manual installation with verbose logging and specific parameters provides more control and better diagnostics than automatic Windows Update.
- Download update manually:
- Visit Microsoft Update Catalog
- Search for KB number (e.g., "KB5014354")
- Download appropriate version for your SQL Server (x64 most common)
- Extract and run with parameters:
- Open Command Prompt as Administrator
- Navigate to download folder
- Basic installation:
SQLServer2017-KB5014354-x64.exe /Action=Patch /AllInstances /IAcceptSQLServerLicenseTerms
- Installation with detailed logging:
SQLServer2017-KB5014354-x64.exe /Action=Patch /AllInstances /IAcceptSQLServerLicenseTerms /Log="C:\Temp\SQLUpdate.log"
- Installation for specific instance:
SQLServer2017-KB5014354-x64.exe /Action=Patch /InstanceName=MSSQLSERVER /IAcceptSQLServerLicenseTerms- Replace MSSQLSERVER with your instance name if different
- Monitor installation progress in Command Prompt
- Wait for "Exit code: 0" (success) or error code
- If error occurs, check log file at C:\Temp\SQLUpdate.log
- Verify update installation:
- Open SQL Server Management Studio (SSMS)
- Connect to SQL Server instance
- Run query:
SELECT @@VERSION - Check version number includes update (e.g., KB5014354)
Useful Command-Line Parameters:
- /Action=Patch: Specifies patch installation (required)
- /AllInstances: Updates all SQL instances on server
- /InstanceName=Name: Updates specific instance only
- /IAcceptSQLServerLicenseTerms: Accepts EULA (required for unattended install)
- /Log="Path": Specifies custom log file location
- /Quiet: Silent installation without UI
- /SkipRules: Bypasses specific validation rules (use cautiously)
Additional Troubleshooting
Check SQL Server Version and Applicable Updates:
- Connect to SQL Server via SSMS
- Run:
SELECT @@VERSION - Note version number (e.g., 14.0.2037.2 = SQL Server 2017)
- Visit Microsoft SQL Server Build List
- Find your version, check if update is applicable
- Some updates only apply to specific service pack levels
Verify Disk Space:
- SQL Server updates require 2-3x update file size in free space
- Check C: drive has 10+ GB free
- Check SQL Server data drive has adequate space
- Temp folder (%TEMP%) needs 1-2 GB free
Check Antivirus Exclusions:
- Add SQL Server installation folder to antivirus exclusions:
- C:\Program Files\Microsoft SQL Server\
- C:\Program Files (x86)\Microsoft SQL Server\
- Exclude SQL data files (*.mdf, *.ldf, *.ndf)
- Temporarily disable antivirus during update
Frequently Asked Questions
Q: Error 0x80070643 only happens with SQL Server updates, other Windows Updates work fine. Why?
A: SQL Server updates are more complex than standard Windows Updates, requiring coordination with database services, file locks, and .NET Frameworkâeach introduces unique failure points. Specific to SQL: (1) Service dependenciesâSQL Server Database Engine must be running but not processing active transactions during update; if service hung or locked database, update fails, (2) .NET Framework requirementsâSQL updates use .NET for installation scripts; if .NET corrupted or wrong version, scripts fail with 0x80070643, (3) Multiple instancesâserver may have default + named instances; update must detect and patch all, failure on one instance fails entire update, (4) File locksâSQL executables (sqlservr.exe) locked by running service; unlike typical apps, stopping service via services.msc may not release locks if databases openârequires clean shutdown via SQL Configuration Manager. Solution order: Restart all SQL services via Configuration Manager (Method 1), update .NET Framework (Method 3), check setup logs for specific service/file causing failure (Method 6). Regular Windows Updates don't face these database-specific complexities.
Q: Can I just skip this SQL Server security update if it keeps failing? My database works fine without it.
A: Absolutely NOT recommended, especially for security updates. Skipping SQL Server security patches exposes critical risks: (1) Exploitable vulnerabilitiesâsecurity updates patch CVEs (Common Vulnerabilities and Exposures) actively exploited by hackers; unpatched SQL Servers are prime ransomware targets (e.g., SQL injection, privilege escalation), (2) Compliance violationsâPCI-DSS, HIPAA, SOX require systems be patched within 30 days; failing audits can result in fines or loss of certifications, (3) Data breach liabilityâif unpatched vulnerability leads to data breach, company faces legal liability and reputation damage, (4) Support issuesâMicrosoft Support may refuse to troubleshoot problems on outdated SQL versions. KB5014354 specifically addresses critical security vulnerabilities in SQL Server 2017 that allow remote code executionâmissing this patch is severe security risk. If update won't install: Fix the underlying issue (Methods 1-7) rather than skip. If absolutely stuck, consider upgrading to newer SQL Server version or migrating to Azure SQL Database (always patched). Unpatched database server is ticking time bomb.
Q: I get 0x80070643 but SQL Server setup log says "Success." Confusingâwhat's actually happening?
A: Discrepancy between Windows Update reporting 0x80070643 but SQL setup log showing success indicates Windows Update wrapper failed, not SQL installation itself. Here's why: (1) Two-layer installationâWindows Update downloads .exe, extracts MSI, runs MSI installer; error can occur at wrapper layer even if MSI succeeds, (2) Return code translationâSQL installer returns custom exit codes; Windows Update may misinterpret non-zero informational codes as failures, (3) Post-install validation failureâSQL installs successfully but Windows Update's verification step (checking registry keys or version numbers) fails due to timing or registry delay. To verify actual status: (1) Open SSMS, connect to SQL Server, run SELECT @@VERSIONâif version includes update KB number, update succeeded despite error, (2) Check C:\Program Files\Microsoft SQL Server\{Version}\Setup Bootstrap\Log\Summary.txtâif "Exit code (Decimal): 0", installation actually succeeded, (3) Check Windows Update historyâif update shows "Failed" but SQL version updated, just hide update to stop retry: Settings â Windows Update â Advanced options â Optional updates â Hide. This false-positive 0x80070643 is annoying but harmless if SQL actually patched.
Q: After fixing 0x80070643 and installing update, SQL Server won't start. How do I recover?
A: Update succeeded but SQL Server startup failure post-update indicates compatibility issue or corrupted update: (1) Check SQL Server Error Logânavigate to C:\Program Files\Microsoft SQL Server\MSSQL{XX}.MSSQLSERVER\MSSQL\Log\, open ERRORLOG file (most recent), look for startup failure reason (e.g., "Database upgrade failed," "incompatible database version"), (2) Start SQL in minimal configuration mode (bypasses user databases): Open Command Prompt as Admin, run net start MSSQLSERVER /f /m (starts with minimal config and single-user mode), connect via SSMS with sysadmin account, run ALTER DATABASE [YourDB] SET OFFLINE; for problematic database, restart normally, (3) Uninstall update if causes persistent failureâSettings â Apps â find SQL update KB â Uninstall, restart, SQL should start on previous version, (4) Restore master database from backup if update corrupted system databases (advancedârequires backup), (5) Repair SQL Server installationârun SQL Server setup.exe, choose Repair, select failing instance, repair completes in 30-60 min. Prevention: Always backup databases before major updates: BACKUP DATABASE YourDB TO DISK='C:\Backup\YourDB.bak', backup master/msdb system databases.
Q: I have multiple SQL Server instances (MSSQLSERVER, SQLEXPRESS). Do I need to fix error separately for each?
A: No, but each instance's services must be managed individually, and updates should target all instances simultaneously: (1) Single update applies to all instancesâwhen you install SQL Server update, it patches all detected instances on server (default + named); you don't install separately per instance, (2) Service management per instanceâwhen restarting services (Method 1), restart EACH instance: net stop "SQL Server (MSSQLSERVER)", net stop "SQL Server (SQLEXPRESS)", then start both; hung service on any instance blocks update for all, (3) Command-line installation optionsâuse /AllInstances parameter to patch all, or /InstanceName=SQLEXPRESS to target specific instance if one keeps failing, (4) Check logs per instanceâeach instance has separate setup log: C:\Program Files\Microsoft SQL Server\{Version}\Setup Bootstrap\Log\, find instance-specific entries. Best practice: Fix services for all instances (Method 1), run update with /AllInstances parameter (Method 7), verify each instance updated by connecting via SSMS and checking @@VERSION for each. If one instance fails but others succeed, manually install to failing instance only with /InstanceName parameter.