Доброго времени суток, Посетитель!
|
|
|
|
|
|
|
|
|
вид форума:
|
|
|
|
| Есть у меня база mdb. Для неё создан файл рабочей группы. Каждый пользователь работает в ней под собственным логином. Благодаря этому я могу разграничивать доступ к таблицам/формам/отчётам и, главное, фиксировать все изменения данных, вносимые конкретным пользователем.
Теперь мне нужно создать аналог такой базы в виде проекта agp (на сервере MSDE).
Может мне кто-нибудь объяснить популярно, как это сделать? Как в новой базе создаются юзеры? Мне их нужно штук 30.
Ничего я не понял про ограничения в 5 пользователей. На весь сервер - 5 пользователей? Ведь количество баз на MSDE, как я понял, в принципе, неограничено?
Или 5 - это ограничение на количество одновременных подключений?
И почему пользователи существуют вне базы данных?
| |
|
| |
|
|
|
| Ну я же вроде уже отвечал, как минимум на часть вопросов...
MSDE - это MS SQL SERVER с ограниченной функциональностью и свободный для использования.
Ничем другим он он MS SQL Server не отличается.
Т.е. для него действуют правила как для большого сервере, в том числе и разграничение прав.
Что бы попасть на сервер пользователь должен быт разерегстрирован на серерве (или в домене в котором зарегистрирован комп с MSDE)
Дальше пользователю раздается права на существующие БД. Опять же это делается на сервере.
Ограничение 5 одновременных подключений к серверу, не к БД а к серверу вообще.
Вопрос "И почему пользователи существуют вне базы данных?" - не понял. Пользователи существуют на сервере, а к базам им даются разрешения (но опять же на уровне сервера). | |
|
| |
|
|
|
| >Ограничение 5 одновременных подключений к серверу, не к БД а
>к серверу вообще.
Хм. По тестить бы.
Источник: http://www.sibinfo.ru/archive/news/03_07_15/msde.html
1. MSDE оптимизирует не более пяти пакетов
В MSDE имеется модуль управления параллельной работой, который в состоянии оптимизировать производительность системы при загрузке одновременно не более пяти пакетов (batch workload). Как только вы запускаете одновременно большее число работ, модуль управления постепенно "притормаживает" систему. MSDE не удаляет предложенные пакеты, но их обработка сопровождается снижением производительности системы.
Источник: http://www.sqlbooks.ru/readarticle.aspx?part=02&file=sql200505
Мы также внесли изменения в регулятор, который приводил к еще большей путанице …, Одной из проблем с ограничением на 5 операций в MSDE 1.0 была репликация. Если Вы использовали MSDE, чтобы реплицировать данные на сервер из MSDE, то репликация использовала (приблизительно) 3 операции для собственной поддержки, оставляя только 2 для других приложений. Теперь это вызвало проблемы, и было совсем не тем, что мы подразумевали. Поэтому в MSDE 2000 мы повысили предел операций до 8, обеспечивая первоначальную функциональность, рассчитанную на 5 ПОЛЬЗОВАТЕЛЬСКИХ операций. Но мы оказались перед проблемой, как сообщить об этом. В конце концов, мы решили вообще не упоминать об этом, поскольку мы оставались в рамках наших прежних обещаний, однако техническая корректность отвергла маркетинговые выкрутасы, и разработчик, который реализовал эту возможность, изменил запись в журнал событий и команду DBCC, основанную на числе 8. В результате люди, фактически превышающие порог, продолжали видеть ссылки на 8, а не на 5 и были в недоумении. Это недоумение, накладываемое на путаницу между операциями и подключениями, а также отсутствие нашей документации/формального объяснения привело к увековечиванию мифа. Как побочный эффект, переход на 8, как я подозреваю, обусловил увеличение предела подключений до 15-20 по сравнению с 10-15 для MSDE 1.0. | |
|
| |
|
|
|
| Поразбирался тут, вывод такой:
В msde 2000 есть ограничение не на 5, а на 8, и не на подключение, а на одновременное выполнение пакетов.
Да и не ограничение в виде "не пущать", а ограничение на скорость обработки одновременных пакетов при превышениии показателя 8.
Т.е., если одновременно запущено более 8 пакетов на обработку, MSDE начинает вставлять паузы при обращении и / или записи к данным / данных.
Таким образом - 30 пользователей потянет, и так как мало вероятно, что из этих 30 одновременно что-то усилинно начнут вводить или читать данные более 8 пользователей, то это ограничение можно в принципе игнорировать.
Ну, для надежности, темпоральные таблицы следует переместить на клиента, и постоянные и условно постоянные данные тоже, во время сеанса держать на клиенте. | |
|
| |
|
|
|
| 5 коннектов это по памяти... конечно не проверял...
отличные статьи, почитал:
"В теории MSDE поддерживает то же самое число подключений, что и SQL Server - 32 767. ОДНАКО почти наверняка в этом случае сервер исчерпает память (помните, что есть предел памяти) прежде, чем распределит ее между таким большим числом подключений, и благодаря регулятору они все не смогут быть запущены одновременно. Так сколько можно запустить? Это то же самое, что спросить, какой длины является часть строки. Я слышал о плохо ведущих себя приложениях с одним подключением, попадающих на регулятор, а также о 100 подключенных пользователях. В действительности все это зависит от приложения, и как оно использует сервер. Для хорошо написанного приложения, которое быстро вводит и выводит информацию из базы данных, подходящим числом было бы 10-15 подключений, однако, это значение действительно варьируется.
Я скажу, что не каждый человек в Microsoft ясно сможет это объяснить. Объяснение "5-ти операций" было бы немного сложней для понимания, поэтому многие люди говорили о 5-ти подключениях, поскольку это было легче объяснить. Так начинается миф …
"
Класс... больше никогда не скажу что MSDE поддерживает 5 подключаний | |
|
| |
|
|
|
| Ну если 5 - это количество подключений, то тогда проблема снята. У меня одновременно работает не больше 2 - 3 пользователей.
Другой вопрос: как пользователи добавляются на сервер? Как им даётся разрешение на доступ к базе? И можно ли имя пользователя использовать аналогично тому как это делается в mdb? Например, выражение "CurrentUser" agp не понимает. | |
|
| |
|
|
|
| это зависит от выбранной вами системы аунтификации.
всесто CurrentUser в запросах можно использовать SYSTEM_USER или User
Вам придется что-то почитать про администрирование MS SQL server | |
|
| |
HiProg.com - Технологии программирования
|