Ошибка инициализации инфраструктуры синхронизации для таблицы «aspnet_personalizationperuser» - PullRequest
1 голос
/ 25 августа 2011

У меня есть база данных на сервере A, которая также содержит таблицы по умолчанию и sp, которые используются процессом aspnet_Regsql.exe (в основном я использую модуль аутентификации asp.net с этими таблицами) и резервный сервер B, который я использую каркас синхронизации sqlOrchester и SqlProvider для синхронизации между ними вместе. но по какой-то причине, когда я пытаюсь выполнить процесс инициализации на удаленном сервере A
я получаю сообщение об ошибке в строке, которая создает объект SqlSyncScopeProvisioning за исключением исключения DbSyncException, утверждая, что мне не хватает столбца первичного ключа в таблице aspnet_personalizationperuser, хотя в этой таблице есть столбец первичного ключа [Id], который является столбцом uniqueidentifier.

Я добавил строки кода, которые я использую для процесса инициализации:

var TableNames = [Коллекция всех имен таблиц в базе данных];

var dbScopeDescription = BuildScopeFromTableList (this.RemoteProvider, TableNames);

защищенный DbSyncScopeDescription BuildScopeFromTableList (поставщик RelationalSyncProvider, строка [] SyncTablesNames)

{

DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription (SyncSettings.ScopeName); SqlConnection serverConn = (SqlConnection) provider.Connection;

        foreach (String table in SyncTablesNames)
        {
            DbSyncTableDescription tableDesc =
             SqlSyncDescriptionBuilder.GetDescriptionForTable(table, serverConn);
            scopeDesc.Tables.Add(tableDesc);

        }
        return scopeDesc;

    }

var serverConfig = new SqlSyncScopeProvisioning ((SqlConnection) this.remoteProvider.Connection, dbScopeDescription);

...