There are some objects locked in the database. You must unlock these objects before upgrading the database

—————————
Microsoft Dynamics NAV Development Environment
—————————
There are some objects locked in the database. You must unlock these objects before upgrading the database.
—————————
OK
—————————

Solution:
Execute the following SQL Query, remind to USE your database name (replace NAVDatabase)

USE [NAVDatabase]

UPDATE [Object] SET [Locked] = 0, [Locked By] = '' WHERE [Locked] = 1

then close the query window (otherwise the connection will still remain active).

Did my solution solve your problem? Leave a reply.

HOW TO run SQL query for multiple companies in NAV database

In Micrososoft Dynamics NAV, tables with property DataPerCompany = No are stored in SQL in multiple tables having the company name as prefix, than $ and the name.

Example, the Customer table in Cronus Company:

CRONUS UK Ltd_$Customer

The following T-SQL Script retrieves the list of the companies, loop through them and use the Company Name as prefix (@pref) to run a query (@sql_ext).

DECLARE @pref nvarchar(30)
DECLARE @sql_ext nvarchar(max)

DECLARE company_cursor CURSOR FOR 
SELECT replace(Name,'.','_') FROM Company

OPEN company_cursor
FETCH NEXT FROM company_cursor INTO @pref 

WHILE @@FETCH_STATUS = 0
BEGIN

SELECT @sql_ext = N'SELECT * FROM [dbo].[' + @pref + '$Inquiry Note] WHERE DATALENGTH([Note]) < 4'

EXEC sp_executesql @sql_ext
FETCH NEXT FROM company_cursor INTO @pref 
END

CLOSE company_cursor  
DEALLOCATE company_cursor

Here find another reading suggestion, this time in C/AL: HOW TO change data for all Companies in NAV

Did my HOW TO help you? Leave a reply.