«Автономное» дополнение для SQL Server - PullRequest
3 голосов
/ 25 июля 2011

Я запускаю собственное приложение, запрограммированное в Visual Studio 2008, которое использует SQL Server 2008 в качестве серверной части. Помимо сервера мои пользователи потребовали возможность хранить данные в независимых файлах. Приведенные причины включают в себя:

  • вдали от офиса или путешествия, иногда в другие страны
  • у нас есть офисы в нескольких городах, в некоторых из которых нет сервера sql
  • необходимость делать «неофициальные» копии данных, для резервного копирования, незавершенного производства, альтернативных сценариев, отправки по электронной почте в другие офисы и т. Д.

Как мне это реализовать? Идеальным решением с точки зрения удобства сопровождения была бы автономная база данных, не требующая дублирования или переписывания кода доступа к данным. Просто установите строку подключения и все готово.

Такое вообще возможно? Я предполагаю, что ближайший родственник - SSCE, но, насколько я понимаю, ему не хватает определенных функций, таких как представления, процессы и т. Д. Поэтому, если какой-либо код доступа к данным использует такие объекты, он не будет перенесен на автономную базу данных.

В настоящее время я использую MS Access в качестве своей автономной опции БД (так как это внутреннее, у всех пользователей будет Office). До сих пор мне удавалось сделать эту работу без особой суеты, но мне интересно, как долго Access и Sql Server по сути являются двумя разными животными.

Как уже упоминалось, в настоящее время программа находится на VS2008, но скоро я надеюсь перейти на VS2010 и начать использовать Entity Framework, если это поможет.

EDIT:
Из приведенных ниже двух ответов видно, что SSCE является стандартным выбором. Но это не идеальный дубликат, потому что, как уже упоминалось, в нем отсутствуют некоторые функции полноценного SS. Я понимаю, почему, поскольку такие функции, вероятно, не нужны для небольшой локальной базы данных. Но для приложения, чей уровень доступа к данным изначально был закодирован для Sql Server, кажется, что есть хотя бы возможность требовать альтернативного кода.

Установка SSExpress на компьютере каждого пользователя, вероятно, была бы способом сохранить функции SS, но это шаг, который я не решаюсь сделать, учитывая нашу настройку.

Ответы [ 2 ]

2 голосов
/ 25 июля 2011

Именно поэтому они создали "Local Database Cache".File -> New -> Local Database Cache

http://msdn.microsoft.com/en-us/library/bb882690.aspx http://msdn.microsoft.com/en-us/library/dd420781(v=vs.90).aspx

Это называется время от времени подключенным клиентом.Эта структура поможет вам сохранить фрагменты данных, которые вам нужны, и позволит синхронизировать любые изменения данных с сервером при повторном подключении.

1 голос
/ 25 июля 2011

Microsoft Sync Framework , возможно, стоит изучить.Мы рассматриваем это для проекта, в котором нам нужно, чтобы клиенты могли работать в автономном режиме, а затем синхронизироваться с мастером, когда они снова подключаются к сети.

...