Мне нужна помощь в MS Sync Framework, поскольку я новичок в ней. Я пробовал простую синхронизацию между двумя одинаковыми таблицами в двух разных базах данных. Код, который я использовал в учебнике MS Sync http://msdn.microsoft.com/en-us/library/ff928494.aspx.Microsoft Sync Framework с параметрами MS SQL Server 2008 EE и FILESTREAM не работает
Когда я пытаюсь Применить Предоставления на стороне сервера я получаю исключение
ALTER DATABASE не удалась, поскольку READ_COMMITTED_SNAPSHOT и опции ALLOW_SNAPSHOT_ISOLATION не может быть установлен в положение ON, когда база данных FILESTREAM файловых групп. Чтобы установить READ_COMMITTED_SNAPSHOT или ALLOW_SNAPSHOT_ISOLATION в положение ON, вы должны удалить файловые группы FILESTREAM из базы данных. Заявление ALTER DATABASE не выполнено.
public void CreateProvisioningOnServer()
{
// create a connection to the SyncExpressDB database
SqlConnection clientConn = new SqlConnection(@"Data Source=.\SQLEXPRESS2008; Initial Catalog=SyncDB; Trusted_Connection=Yes");
// get the description of ArticlesScope from the SyncDB server database
DbSyncScopeDescription scopeDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope("ArticlesScope", serverConn);
// create server provisioning object based on the ProductsScope
SqlSyncScopeProvisioning clientProvision = new SqlSyncScopeProvisioning(clientConn, scopeDesc);
if (clientProvision.ScopeExists(scopeDesc.ScopeName))
return;
// starts the provisioning process
clientProvision.Apply();
}
Я использую вариант FILESTREAM для экспресс-выпуск SQL Server 2008 для хранения изображений, так что я не могу использовать MS Sync Framework, как это и я должен переопределить как-то SqlSyncScopeProvisioning?
Следующий вопрос У меня есть
Я использую MS Sync Framework для синхронизации между 2 базами данных, как в Express Edition.
Клиентская сторона будет загружать данные из 16 таблиц серверов - такая же структура таблиц. Клиентская сторона будет загружать данные в 4 таблицы серверов - возможно, небольшую структуру таблиц на клиенте и сервере.
Это хороший способ, которым я хочу воспользоваться MS Sync Framework? Я всегда делал такую синхронизацию своими собственными хранимыми процедурами, но была проблема с производительностью (а также другие), когда синхронизация с клиентскими БД через Интернет и связанные серверы очень неэффективна.
И какой путь?
Первый вопрос: можно ли использовать 2 базы данных, одну синхронизацию и одну, которая не с изображениями? Или вам нужно синхронизировать изображения? В этом случае вы можете использовать синхронизацию файлов синхронизации, а не синхронизацию db для изображений? – stombeur
Второй вопрос: да, sync fw является подходящим кандидатом для этого сценария, если вы придерживаетесь такого количества таблиц (20-иш). Я использовал подход sync fw 2.1 (таблицы метаданных), но позже решил, что подход 2.0 с отслеживанием изменений был лучше. Тем не менее, это не поддерживается экспресс-службой на стороне клиента. Но для этого есть хорошее (не поддерживаемое) обходное решение. – stombeur
@StephaneT спасибо за ваше время. Да, мне нужно также синхронизировать изображения. Но главная проблема заключается в том, что даже если я не синхронизировал изображения, структура синхронизации генерирует это исключение. – MartinM