Remove tempdb..sysobjects from Compare Script
erenken
Posts: 10 Bronze 3
Is there a way to have the engine not create this line in the output script?
GO
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID('tempdb..#tmpErrors')) DROP TABLE #tmpErrors
GO
We want to make our resulting scripts work on local servers and Azure and this is keeping it from working. As Azure doesn't like that line and that is why I assume you don't create it when you are going against an Azure DB
GO
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID('tempdb..#tmpErrors')) DROP TABLE #tmpErrors
GO
We want to make our resulting scripts work on local servers and Azure and this is keeping it from working. As Azure doesn't like that line and that is why I assume you don't create it when you are going against an Azure DB
Comments
You're right - SQL Compare would probably filter this out if you were comparing directly to Azure. I think you can avoid this line by using the "Do not use transactions in deployment scripts" option.
However, there are numerous exceptions in the SQL Compare code for Azure because in a lot of ways it doesn't work the same way as shrink-wrapped SQL Server. Comparing SQL to SQL and applying the script to Azure is not guaranteed to work.