2014-09-20 3 views
0

У меня есть программное обеспечение для мини-аккаунта. В этом программном обеспечении я могу хранить несколько данных компании. Данные хранятся в базе данных SQL Server 2008 R2.как я могу получить идентификатор компании ID или восстановить данные

В текущей базе данных у меня есть таблица пользователей, в которой хранятся все имена пользователей, таблица основных компаний, в которой хранятся данные компании, такие как имя, адрес, сеанс и т. Д., А также идентификатор пользователя как FK с пользовательской таблицей. Далее находится таблица tran, которая связывает с компанией Master и хранит данные ваучеров и другие ссылки в таблице на тане, например, счет, оплату и т. Д.

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

Пользователи использовали для выбора своей компании First Form Company Master, а затем добавили/отредактировали справочные данные или просмотрели отчет на основе выбранного идентификатора компании.

Теперь моя проблема в том, что объем данных становится очень высоким на некоторых клиентских местах из-за того, что данные от 50 до 60 компаний хранятся в одной базе данных и как я получаю идентификатор компании, мудрый резерв или восстановление данных. Может ли файловая группа сервера sql помочь в этом вопросе? Я не знаю файловой группы.

Пожалуйста, помогите мне.

+0

Для этого нет встроенной функции, вам придется запрограммировать ее самостоятельно, потому что она специфична для вашего дизайна db. Что такое «очень большое количество записей»? –

+0

Спасибо VdOHNAL, я хочу знать, что лучше всего подходит для дизайна db. отдельной базы данных для отдельной компании и основной базы данных для всей компании или хранить все данные в одной базе данных, которая в настоящее время работает? Но я не могу сделать резервную копию для одной компании. –

+0

Это очень широкий вопрос, на который нельзя ответить без подробных сведений о вашей модели базы данных и ваших данных. –

ответ

0

Не разделяйте базу данных SQL на несколько баз данных SQL (либо не создавайте больше файловых групп и т. Д.) Только потому, что вам необходимо получить данные, отфильтрованные по CompanyId. Каждый раз, когда вашему клиенту необходимо создать новую компанию, вашему приложению придется создать для нее новую базу данных. Это также очень усложнит такие вещи, как обновления приложений.

Если у вас нет серьезных проблем с производительностью - например, при использовании SQL Express, а ваша клиентская база данных - 9 ГБ (максимальный размер базы данных для Express - 10 ГБ) - оставьте 1 базу данных для 1 клиента.

Убедитесь, что все соответствующие таблицы хорошо проиндексированы столбцом CompanyID. Затем вы можете предоставить средства для экспорта данных CompanyID из вашего приложения - пользовательские отчеты, экспорт в CSV-файлы, Excel и т. Д.

Файл резервной копии базы данных обычно не используется для передачи данных в другие приложения. Его цель - обеспечить аварийное восстановление - когда диск выходит из строя и т. Д., Тогда ваш клиент сможет легко восстановиться. Напротив, когда у него было бы 50 файлов базы данных вместо 1, ему было бы трудно восстановить все эти базы данных должным образом.

Смежные вопросы