Troubleshooting Guide: Error 11106 – “The Provider Could Not Support Deletion on This Table”
Why This Error Happens
This error typically occurs when SQL Server 2025 attempts to perform a DELETE operation against a linked server table through an OLE DB provider that does not support the IRowsetChange interface required for deletion. It commonly surfaces when the underlying provider is read-only, the target table lacks a unique index or primary key that the provider can use to identify rows for deletion, or the linked server configuration has outdated/misconfigured provider options. Additionally, this can happen when querying heterogeneous data sources (like Excel, text files, or certain ODBC-based linked servers) that are inherently limited to read operations.
Step-by-Step Resolution Guide
Step 1: Verify the Linked Server Provider Capabilities
- Open SSMS and navigate to Server Objects > Linked Servers > Providers.
- Right-click the specific provider (e.g.,
MSDASQL,Microsoft.ACE.OLEDB.16.0) and select Properties. - Ensure the checkbox for “Allow InProcess” is enabled, and confirm whether the provider natively supports DML operations like DELETE.
- If the provider is inherently read-only (common for flat files or Excel), deletion is not possible without replacing the data source.
Step 2: Check for Unique Identifiers on the Target Table
- Run the following query against the target table to confirm a primary key or unique index exists:
EXEC sp_helpindex 'YourTableName';
- If no unique index is found, the provider cannot generate a reliable
WHEREclause for the delete operation. - Add a primary key or unique constraint if missing:
ALTER TABLE YourTableName ADD CONSTRAINT PK_YourTable PRIMARY KEY (ColumnName);
Step 3: Update Linked Server Configuration and Drivers
- Navigate to
C:\Program Files\Microsoft SQL Server\160\DTS\Binn\(or the relevant version path for SQL Server 2025) and confirm the correct OLE DB driver version is installed. - Reconfigure the linked server using
sp_addlinkedserverwith updated provider strings. - On Windows Server 2025, open ODBC Data Source Administrator (64-bit) via
odbcad32.exeand verify the DSN settings match the required authentication and permission levels.
Step 4: Adjust Server-Level Provider Options
- Run the following T-SQL command to enable necessary DML support flags on the provider:
EXEC sp_serveroption 'LinkedServerName', 'rpc out', true;
- Restart the SQL Server service via services.msc or run:
Restart-Service -Name 'MSSQLSERVER'
Alternative or Verification Steps
- To verify the fix, attempt a test
DELETEstatement on a single row using a fully qualified four-part name (LinkedServer.Database.Schema.Table) and confirm no Error 11106 is returned. - As an alternative, if the provider remains unsupported for direct deletion, use an OPENQUERY pass-through command instead, which routes the DELETE directly to the native provider:
DELETE FROM OPENQUERY(LinkedServerName, 'SELECT * FROM TargetTable WHERE ID = 1');