I have tried merging a local database using Red Gate SQL Compare 9 (you can of course also use the SQL Azure Migration Wizard), but that also gave me some errors regarding some elements in the resulting update statement that were not supported in SQL Azure.
I have looked into these errors and found that it was relatively easy to fix these. If you take a look at the Stored Procedure called
aspnet_Membership_GetNumberOfUsersOnline
in a "regular" SQL server, you'll see that it contains a couple of (NOLOCK)
statements in it's SELECT
statement.Removing these
(NOLOCK)
statements makes the stored procedure compatible with your SQL Azure database. After removing them, SQL Compare has no more troubles synchronising these tables into an SQL Azure database.Make sure to run the following script afterwards before you try to make use of any tooling for creating accounts and roles:
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('common', 1, 1)
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('health monitoring', 1, 1)
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('membership', 1, 1)
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('personalization', 1, 1)
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('profile', 1, 1)
INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion) VALUES('role manager', 1, 1)
After this is done, your SQL Azure database is ready for use with Forms Authentication!
UPDATE:
I have also found a specialised aspnet_regsqlazure.exe program in a Microsoft MSDN Knowledge Base article. Read it (and download the program) here: http://archive.msdn.microsoft.com/KB2006191
No comments :
Post a Comment