-2

We upgraded to SQL Server 2016 SP1 and SSMS 18.2 last week. Today I've been trying to execute DML in the database and am getting this error message:

Msg 208, Level 16, State 1, Procedure backup_objects, Line 17 [Batch Start Line 9] Invalid object name 'msdb.dbo.changelog'.

I cannot find either backup_objects or msdb.dbo.changelog in any database of the instance, so I do not know how or why the calls backup_object are being made.

Any idea what may be causing this and how to get around it?

  • Proofreading is critical. I'm trying to execute DDL not DML. Specifically, CREATE INDEX and CREATE PROCEDURE – J Szoke Sep 10 '19 at 13:53
  • If I run the same DDL using Visual Studio and SSDT, it works just fine. – J Szoke Sep 10 '19 at 14:16
  • Please, edit your question with the information you added as comments. You said an upgrade was performed, so I assume you might still have the older version of SSMS around. Could you try executing those DDL commands using the older SSMS just to check if it works? – Ronaldo Sep 10 '19 at 15:28
  • Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. – Ramhound Sep 10 '19 at 16:04

1 Answers1

0

I figured it out. A previous DBA implemented a database trigger to log DDL changes. The trigger writes to the msdb.dbo.changelog table. When we converted the database from 2008 to 2016, that table didn't get moved over to the new instance because it was in msdb and not a user database. SSDT disabled the trigger before it ran DDL, so it worked just fine.