Competition: What’s your favorite Redgate tool? Enter now.

An error occurred while attempting to deploy project scripts (EDS cache)

Hello colleagues,

I'm having hard times deploying the database with RR. Partially, it is related to the question I have already risen before (about the BLOB_STORAGE). In the end of the database creation script I have the following statement:

EXEC ('IF EXISTS (SELECT * FROM sys.external_data_sources WHERE name = ''AzureBlobStorage'')
PRINT ''Already exists''
ELSE
BEGIN
CREATE EXTERNAL DATA SOURCE AzureBlobStorage
WITH ( TYPE = BLOB_STORAGE, LOCATION = ''https://mycoolstorage.blob.core.windows.net'');
END');
GO

So, this data source can be used by the bunch of the scripts (that perform bulk insert) I have in my solution. For some reason I'm getting the following error:
"Error An error occurred while attempting to deploy project scripts: Msg 33519, Level 16, State 1, Server sqlsrv01-dev, Line 5. An external data source conflicting with 'AzureBlobStorage' already exists in EDS cache in memory. Use alter step to change the location or credential. Drop and re-create to change the EDS name."

What in the world "EDS cache in memory" is? Until this point (due to this error) RR does not create database objects and EDS either. I see nothing in the "External Resources -> External Data Sources" (see image below), so there is nothing to drop as error message suggests.
3d5zy5cfp93u.jpg


The issue is quite easy to reproduce. Undortunately, while surfing the internet I didn't find any clues on this issue. Is this another bug?
Tagged:

Answers

  • Interesting... I think what you did should have worked.

    If you run
    SELECT * FROM sys.external_data_sources
    
    on the Azure database what results do you get out of interest?
  • AllaireAllaire Posts: 20 Bronze 1
    edited December 1, 2017 5:15PM
    Interesting... I think what you did should have worked.

    If you run
    SELECT * FROM sys.external_data_sources
    
    on the Azure database what results do you get out of interest?

    It shows nothing, that's the problem. The source doesn't exist but it already complains to EDS cache in memory. The only way out I found so far (to get rid of this error) is to destroy and rename the database and deploy it from scratch in RR.
    I noticed this error appears not right away. If for some reason the database deployment was interrupted, the second run will throw this error. I have an assumption that RR does not create db objects physically unless all the scripts are working. If deployment fails, the EDS object keeps hanging in memory and the next run throws this weird error.
Sign In or Register to comment.