How to fix Error 8105 on Windows Server 2025 / Windows 11

Troubleshooting Guide: Error 8105 – “‘%.*ls’ is not a user table. Cannot perform SET operation.”

Why This Error Happens

This error occurs when a SET operation—such as SET IDENTITY_INSERT or a similar table-level configuration command—is executed against an object that SQL Server does not recognize as a standard user table. This typically happens because the target is actually a system table, a view, a synonym, or a temporary table, none of which support these operations. It can also occur if the object name is misspelled or incorrectly qualified, causing SQL Server to resolve it to an unexpected object in the schema.

Step-by-Step Resolution Guide

Step 1: Verify the Object Type

  • Run the following query to confirm the object’s type before attempting the SET operation again:
  SELECT name, type_desc FROM sys.objects WHERE name = 'YourTableName';
  • Confirm the type_desc returns USER_TABLE. If it returns VIEW, SYSTEM_TABLE, or SYNONYM, the SET command is invalid for this object.

Step 2: Check Schema Qualification and Naming

  • Ensure you are referencing the table with the correct schema prefix (e.g., dbo.YourTableName instead of just YourTableName).
  • On Windows Server 2025 environments with multiple schemas, objects with identical names across schemas (e.g., sales.Orders vs. dbo.Orders) can cause SQL Server to resolve the wrong object if the schema is omitted.
  • Update your script or application connection string’s default schema settings if necessary.

Step 3: Validate the Command Context

  • If using SET IDENTITY_INSERT, confirm that the table actually contains an IDENTITY column:
  SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
  WHERE TABLE_NAME = 'YourTableName' AND COLUMNPROPERTY(OBJECT_ID(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1;
  • If no identity column exists, the SET command is being incorrectly applied to a standard table or a non-applicable object.

Step 4: Rebuild or Correct the Object Reference

  • If the object was recently migrated or restored (common during Windows Server 2025 upgrades), check for orphaned temporary objects in tempdb by running sp_help '#YourTableName'.
  • Drop and recreate the alias or synonym if it is pointing to an incorrect base table using DROP SYNONYM and CREATE SYNONYM.

Alternative or Verification Steps

  • To verify the fix, re-run the original SET statement (e.g., SET IDENTITY_INSERT dbo.YourTableName ON;) and confirm it executes without throwing Error 8105.
  • If the error persists, use SQL Server Management Studio (SSMS) Object Explorer to manually navigate to the table under Databases > YourDB > Tables to visually confirm it is listed as a table and not under Views or System Tables.