Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Организация доступа к базе данных с нескольких компьютеров в локальной сети  [new]
alexs555
Member

Откуда:
Сообщений: 2
знаю-знаю,что похожие темы были, но в них в итоге все сводилось к "СУБД сама все сделает", ты главное законнекться,и работай как и с локальной базой данных, но у меня тут вопросы:

1)Как именно MS SQL 2008 организовывает доступ нескольких пользователей к одной базе данных?
2)Как там решен вопрос с блокировками и т.п.?(например пользователь просматривает запись,которую кто-то уже изменил,и потом пытается ее сохранить и т.д.)

У меня есть готовое приложение,использующее MS SQL Express на локальной машине, стал вопрос об организации доступа к этой базе по сети.
Когда то давно сам писал примитивный сервер, где руками устанавливал мьютексы,блокировки. Но сейчас изобретение велосипеда вроде не иммет смысла.
15 окт 11, 11:14    [11445418]     Ответить | Цитировать Сообщить модератору
 Re: Организация доступа к базе данных с нескольких компьютеров в локальной сети  [new]
Glory
Member

Откуда:
Сообщений: 104751
alexs555
)Как именно MS SQL 2008 организовывает доступ нескольких пользователей к одной базе данных?

С помощью своего внутреннего функционала


alexs555
2)Как там решен вопрос с блокировками и т.п.?(например пользователь просматривает запись,которую кто-то уже изменил,и потом пытается ее сохранить и т.д.)

Хорошо решен.


alexs555
У меня есть готовое приложение,использующее MS SQL Express на локальной машине, стал вопрос об организации доступа к этой базе по сети.

Для сервера нет никакой разницы, как далеко от него находится клиентская программа
15 окт 11, 12:49    [11445503]     Ответить | Цитировать Сообщить модератору
 Re: Организация доступа к базе данных с нескольких компьютеров в локальной сети  [new]
alexs555
Member

Откуда:
Сообщений: 2
alexs555
2)Как там решен вопрос с блокировками и т.п.?(например пользователь просматривает запись,которую кто-то уже изменил,и потом пытается ее сохранить и т.д.)

Хорошо решен.

Спасибо за ответы.
А вам на практике приходилось видеть? Мне уже просто интеренсо, какое сообщение получает пользователь при попытке изменить уже открытую кем-то запись
15 окт 11, 15:37    [11445820]     Ответить | Цитировать Сообщить модератору
 Re: Организация доступа к базе данных с нескольких компьютеров в локальной сети  [new]
Glory
Member

Откуда:
Сообщений: 104751
alexs555
А вам на практике приходилось видеть? Мне уже просто интеренсо, какое сообщение получает пользователь при попытке изменить уже открытую кем-то запись

Это зависит от того, какой программный код вы напишите
15 окт 11, 15:45    [11445845]     Ответить | Цитировать Сообщить модератору
 Re: Организация доступа к базе данных с нескольких компьютеров в локальной сети  [new]
iljy
Member

Откуда:
Сообщений: 8711
alexs555
А вам на практике приходилось видеть? Мне уже просто интеренсо, какое сообщение получает пользователь при попытке изменить уже открытую кем-то запись

Для сервера нет поняти "открытая кем-то запись". Есть наложенные блокировки, который могут быть совместимы, а могут нет. Если нет - тогда клиент может ждать снятия блокировки до победного, а может до таймаута. А еще может быть включена версионность строк, тогда клиент может ничего не ждать при чтении, но потом получить отлуп сервера при попытке записи (сообщение о том, что его версия строки не является последней, т.е. пока он думал, что делать, кто-то уже эту строку изменил). В общем все это довольно разнообразно, так что читайте про типы блокировок, про уровни изоляции транзакций и т.д.
15 окт 11, 15:57    [11445873]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить