Today I was deploying an existing database to SQL Azure with the help of SQL Management Studio and it first failed because there were no clustered index on the table CompletedScope. I created one and after that it was all good, but you should create a clustered index on that table (it did not have any primary key, so that needs to be added also).
No it did not go ok, there were a problem with hints also, here are the error message:
TITLE: Microsoft SQL Server Management Studio------------------------------
Could not import package.Warning SQL0: A project which specifies SQL Server 2012 as the target platform may experience compatibility issues with SQL Azure.Error SQL72014: .Net SqlClient Data Provider: Msg 40512, Level 16, State 1, Procedure InsertCompletedScope, Line 8 Deprecated feature 'Multiple table hints without comma' is not supported in this version of SQL Server.Error SQL72045: Script execution error. The executed script:CREATE PROCEDURE [dbo].[InsertCompletedScope]@instanceID UNIQUEIDENTIFIER, @completedScopeID UNIQUEIDENTIFIER, @state IMAGEASSET TRANSACTION ISOLATION LEVEL READ COMMITTED;SET NOCOUNT ON;UPDATE [dbo].[CompletedScope] WITH (ROWLOCK, UPDLOCK)SET state = @state, modified = GETUTCDATE()WHERE completedScopeID = @completedScopeID;IF (@@ROWCOUNT = 0) BEGIN INSERT INTO [dbo].[CompletedScope] WITH (ROWLOCK) VALUES (@instanceID, @completedScopeID, @state, GETUTCDATE()); ENDRETURN;RETURN;
I changed to this
ALTER PROCEDURE [dbo].[InsertCompletedScope]
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
SET NOCOUNT ON
UPDATE [dbo].[CompletedScope] WITH(ROWLOCK, UPDLOCK)
SET state = @state,
modified = GETUTCDATE()
IF ( @@ROWCOUNT = 0 )
INSERT INTO [dbo].[CompletedScope] WITH(ROWLOCK)
VALUES(@instanceID, @completedScopeID, @state, GETUTCDATE())
And it all worked fine!
These tables (CompletedScope etc) is created by Microsoft Workflow Foundation 3.5 and is not supported on Azure. In later versions of EPiServer CMS we no longer install Microsoft Workflows, to make it easier to deploy to Azure.
So either patch the tables as above, or remove the tables altogether. But also disable Workflows as described in the SDK to avoid running an unsupported version.
See workflows section in SDK about deploying to Azure:
Thanks Per, I noticed that and with the latest update I did not get any error at all deploying to Azure.
Thaks for the great work!!