133

Fixing “Invalid object name ‘STRING_SPLIT’” in SQL Server for Aras Innovator

Overview When working with Aras Innovator (or other applications using SQL Server), you may encounter the following error: This occurs…

Overview

When working with Aras Innovator (or other applications using SQL Server), you may encounter the following error:

Invalid object name 'STRING_SPLIT'. in SQL:  
DELETE FROM [PACKAGEELEMENT]  
WHERE [ELEMENT_ID] IN (SELECT [value] FROM [STRING_SPLIT]( @idlist, ',' ))

This occurs when the SQL Server instance does not recognize the STRING_SPLIT function, even though you may be running on SQL Server 2016 or later.


Root Cause

STRING_SPLIT was introduced in SQL Server 2016 and requires:

  1. SQL Server 2016 or newer.
  2. Database compatibility level set to 130 or higher.

Even if your server version supports it, if the database compatibility level is below 130, SQL Server will throw the Invalid object name 'STRING_SPLIT' error.

This is common when upgrading an older database to a newer SQL Server instance without updating its compatibility level.


Solution: Update Database Compatibility Level

Step 1: Check Current SQL Server Version

Run:

SELECT @@VERSION;

This confirms the SQL Server version (e.g., SQL Server 2019 → supports STRING_SPLIT).


Step 2: Check Current Database Compatibility Level

Run:

SELECT name, compatibility_level 
FROM sys.databases 
WHERE name = DB_NAME();

If compatibility_level is less than 130, you’ll need to update it.


Step 3: Update Compatibility Level to 130

Run:

ALTER DATABASE [InnovatorSolutions]  
SET COMPATIBILITY_LEVEL = 130;

If your server supports a higher level (e.g., 150 for SQL Server 2019), you may choose that instead, but 130 is the minimum required for STRING_SPLIT.


Step 4: Verify and Retest

Run the check again:

SELECT name, compatibility_level 
FROM sys.databases 
WHERE name = DB_NAME();

Once confirmed, retry your operation in Aras Innovator. The STRING_SPLIT function should now work as expected.


Why This Matters for Aras Innovator

Many Aras Innovator methods and SQL scripts use STRING_SPLIT for parsing comma-separated lists (such as IDs). Without the proper compatibility level, these scripts fail, breaking operations like package element deletions, import/export processes, and batch updates.

Updating the compatibility level ensures:

  • Full use of SQL Server’s modern functions.
  • Better query performance.
  • Compatibility with out-of-the-box Aras SQL methods.

Summary

Error: Invalid object name 'STRING_SPLIT'
Cause: Database compatibility level < 130
Fix:

ALTER DATABASE [InnovatorSolutions] SET COMPATIBILITY_LEVEL = 130;

This simple one-line change restores functionality and prevents similar issues with other modern SQL functions.

Youssef Abou Afach

Leave a Reply

Your email address will not be published. Required fields are marked *