Работа ТЦУ-3 с базой данных MS SQL Server 2005. Часть 2.

Автор:   Мукан Андрей, mukan@andriy.co

Подключение к SQL-серверу по сети. Использование режимов Windows аутентификации и SQL Server аутентификации.


В этой части цикла статей описано подключение сетевых клиентов ТЦУ-3 к MS SQL Server 2005. Рассматриваются два варианта подключения к SQL Server - с помощью Windows аутентификации и SQL Server аутентификации. Прилагается видеоурок, отображающий полную последовательность действий, описанных в статье.

В предыдущей статье "Установка и настройка SQL-сервера. Создание базы данных и подключение к ней ТЦУ-3" было продемонстрировано локальное подключение ТЦУ-3 к базе данных, расположенной на MS SQL сервере. Разумеется, при использовании данной СУБД не обходится без подключений сетевых клиентов. Сети могут быть локальными и с удаленным доступом, одноранговыми и гибридными - все это не так важно. Для клиент-серверной архитектуры важно, чтобы существовала физическая связь между клиентом и сервером баз данных. При этом важно, чтобы новые клиенты имели возможность быстро вступать в строй.

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

Предварительные настройки

Если ваш сервер уже успешно работает в локальной сети, переходите к настройке брандмауэра, если нет, то проделайте нехитрую операцию по его подключению к локальной сети (сетевой кабель должен быть подключен, IP адрес сетевому интерфейсу сервера назначен). Откройте "Сетевое окружение" и щелкните ссылку "Установить домашнюю или малую сеть"

Мастер настройки сети

Рис. 1. Мастер настройки сети

Следуйте шагами мастера, выбирая, например, значения "Другое" - "Этот компьютер принадлежит сети, не имеющей подключения к Интернету" - "Имя компьютера: Server" - остальные значения оставьте по умолчанию. Укажите имя вашей рабочей группы. На предпоследнем шаге выберите "Включить общий доступ к файлам и принтерам". Завершите работу Мастера и согласитесь на предложение о перезагрузке компьютера.

После перезагрузки зайдите в панель управления и откройте "Брандмауэр Windows". Настоятельно рекомендуется не отключать брандмауэр, а лишь сделать следующие исключения для сетевых подключений. Если вы всё же отключили брандмауэр, то переходите к следующему шагу настроек - см. рис. 5. В брандмауэре кликните вкладку "Исключения", а затем кнопку "Добавить порт"

Брандмауэр Windows

Рис. 2. Брандмауэр Windows - "Исключения"

Добавьте последовательно 2 порта - 1433 TCP и 1433 (либо 1434) UDP:

Брандмауэр Windows - Добавление порта

Рис. 3. Брандмауэр Windows - Добавление порта

В результате вы должны получить следующие настройки брандмауэра - обратите внимание на пункты с установленными флажками.

Брандмауэр Windows

Рис. 4. Брандмауэр Windows

Сохраните настройки и закройте брандмауэр Windows. Если вы используете другой брандмауэр, то убедитесь, что в нем открыты порты 1433 TCP и 1433 (либо 1434) UDP. Это важное требование, так как без его выполнения доступ к SQL серверу будет закрыт. Для Windows аутентификации также важно, чтобы клиенты имели свободный доступ к файлам и принтерам сервера.

После этого необходимо провести настройку SQL Server. Откройте Пуск > Все программы > Microsoft SQL Server 2005 > Configuration Tools > SQL Server Configuration Manager. Раскройте ветвь "SQL Server 2005 Network Configuration" и в разделе "Protocols for SQLEXPRESS" для протокола "Named Pipes" установите параметр Enabled = Yes. Проверьте значение аналогичного параметра для этого же параметра в разделе "Client Protocols" ветки "SQL Native Client Configuration".

SQL Server Configuration Manager - Protocols for SQLEXPRESS

Рис. 5. SQL Server Configuration Manager - Protocols for SQLEXPRESS

Обязательно перезапустите службы SQL. Сделать это можно либо в панели управления, в оснастке служб либо здесь же, в SQL Server Configuration Manager, в ветке SQL Server 2005 Services. Также можно просто перезагрузить компьютер.

SQL Server Configuration Manager - SQL Server 2005 Services

Рис. 6. SQL Server Configuration Manager - SQL Server 2005 Services



Windows аутентификация

При использовании данного вида аутентификации клиент получает доступ к базе данных на основании разрешений для своей учетной записи. Разрешения для этой и для других учетных записей определяются на сервере. Рассмотрим вариант, когда клиент подключается к SQL серверу под гостевой учетной записью.
Сразу оговоримся - данный способ не подходит для подключения к SQL серверу, развернутому на Windows редакций Home Edition из-за отсутствия в них оснастки по управлению локальными учетными записями. Поэтому, в случае использования Windows Home, необходимо использовать второй сценарий - SQL Server аутентификацию.
Дальнейшие шаги описывают настройки для Windows редакции Professional. Откройте рабочий стол и щелкните правой кнопкой мыши на значке "Мой компьютер". В контекстном меню выберите "Управление":

Мой компьютер - Управление

Рис. 7. Мой компьютер - Управление

В оснастке "Управление компьютером" раскройте ветвь "Локальные пользователи и группы" - "Пользователи" и дважды щелкните на строке списка "Гость":

Локальные пользователи и группы - Пользователи

Рис. 8. Локальные пользователи и группы - Пользователи

Установите флажки так, как указано на рисунке:

Свойства: Гость

Рис. 9. Свойства: Гость

Кликните вкладку "Членство в группах", затем кнопку "Добавить". Добавьте все группы, начинающиеся на "SQL". Подробнее, как это сделать - смотрите в прилагаемом ролике в конце статьи. Сохраните изменения - нажмите "ОК"

Свойства: Гость - Членство в группах

Рис. 10. Свойства: Гость - Членство в группах

Далее, создайте на любом доступном локальном диске папку, например "Exchange". После этого щелкните на ней правой кнопкой мыши и в контекстном меню выберите пункт "Свойства". В открывшемся окне перейдите на вкладку "Доступ" и установите флажки "Открыть общий доступ к этой папке", "Разрешить изменение файлов по сети". Нажмите "ОК"

Свойства: Exchange - Доступ

Рис. 11. Свойства: Exchange - Доступ

Далее необходимо проверить доступ к этой папке из сети. Перейдите на клиентскую машину, введите в проводнике UNC путь к серверу - \\server и нажмите кнопку ввода. Или обратитесь к серверу через сетевое окружение. Вы должны увидеть сетевые папки и принтеры сервера.

Сетевые папки и принтеры сервера

Рис. 12. Сетевые папки и принтеры сервера

Откройте папку "Exchange". Если вам будет предложено ввести логин и пароль для доступа к серверу, введите: имя - "Гость" (как на рис. 8), пароль оставьте пустым и установите в этом диалоге флажок сохранения пароля. Если групповыми политиками запрещено подключение к серверу без пароля, то вам необходимо будет также ввести пароль учетной записи (он уже должен быть задан ранее в оснастке "Управление компьютером", в разделе локальные пользователи и группы"). Важное замечание - здесь приводится пример подключения под гостевой учетной записью. Вы можете использовать любые другие учетные записи по вашему усмотрению, но обязательно проделав шаги на рис. 8-10.

После этого на этой же клиентском компьютере откройте ТЦУ-3, кликните "Справочники" - "Настройки" - "Ссылки и пути" - "Сменить подключение" - "MS SQL Server" и введите следующие значения:

  • Сервер: server\sqlexpress
  • База данных: tcu_db
  • Аутентификация: Windows Аутентификация

Клиентская ТЦУ-3 - Windows аутентификация

Рис. 13. Клиентская ТЦУ-3 - Windows аутентификация

Проверьте подключение. Вы должны увидеть сообщение об успешной проверке подключения к БД.



SQL Server аутентификация

В практике часто встречаются ситуации, когда сервер БД расположен в другой сети или в другом домене, который не связан доверительными отношениями с доменом сервера. Либо когда возможность использовать учетные записи Windows ограничена в силу тех или иных причин. В таких случая целесообразней использовать SQL Server аутентификацию. Немаловажно, что при этом повышается безопасность самой базы данных, поскольку в этом случае она защищена логином/паролем пользователя, на которого распространяются права по доступу к БД и операциям с ней. Более подробно об этом можно почитать в MSDN, а мы ограничимся все тем же примером.

Итак, на сервере откройте Пуск > Все программы > Microsoft SQL Server 2005 > SQL Server Management Studio Express. В появившемся диалоге "Connect to Server" просто нажмите кнопку "Connect". В SQL Server Management Studio Express щелкните правой кнопкой мыши по корню дерева в Object Explorer и выберите в контекстном меню "Properties"

SQL Server Management Studio Express - Object Explorer

Рис. 14. SQL Server Management Studio Express - Object Explorer

В свойствах сервера кликните раздел "Security" ("Безопасность") и установите значение "SQL Server and Windows Authentication mode", как на рисунке ниже:

Server Properties

Рис. 15. Server Properties

Закройте SQL Server Management Studio Express. Для продолжения настройки сервера необходимо обязательно перезапустить службы SQL Server. Сделать это можно в SQL Server Configuration Manager, в ветке SQL Server 2005 Services либо с помощью оснастки "Службы", которую можно вызвать в "Панели управления" - "Администрирование". Также можно просто перезагрузить компьютер.

Службы - перезапуск

Рис. 16. Службы - перезапуск

Повторно откройте SQL Server Management Studio Express. В дереве объектов раскройте ветку "Security".

SQL Server Management Studio Express

Рис. 17. SQL Server Management Studio Express

Щелкните правой кнопкой мыши по ветке "Logins" и в контекстном меню выберите пункт "New Login..." В открывшейся форме укажите имя пользователя базы данных, пароль и т.д. Внимательно рассмотрите рисунок ниже и установите значения параметров на форме аналогично рисунку. После этого нажмите кнопку "ОК"

Login - New

Рис. 18. Login - New

В дереве объектов, в разделе "Logins" появится имя только что созданного пользователя. Откройте форму свойств этого пользователя двойным кликом по нему в дереве. Перейдите к странице "User Mapping". Также внимательно отнеситесь к установке параметров в вашей форме. Любое несоответствие в выставленных правах может привести к невозможности подключения к БД под этим пользователем.

Login properties - tcu_user

Рис. 19. Login properties - tcu_user

Заключительный шаг - проверьте подключение ТЦУ-3 к базе данных (на клиентском компьютере). Кликните "Справочники" - "Настройки" - "Ссылки и пути" - "Сменить подключение" - "MS SQL Server" и введите следующие значения:

  • Сервер: server\sqlexpress
  • База данных: tcu_db
  • Аутентификация: SQL Server Аутентификация
  • Имя пользователя: tcu_user
  • Пароль: ******* (Пароль, заданный на рис. 18)

Клиентская ТЦУ-3 - SQL Server аутентификация

Рис. 20. Клиентская ТЦУ-3 - SQL Server аутентификация

Нажмите кнопку "Проверить подключение". Получили сообщение "Проверка соединения прошла успешно"? Поздравляем! Ваш SQL сервер готов принимать подключения ТЦУ-3 с SQL аутентификацией!

Как обычно, руководства такой сложности мы сопровождаем видеоуроками, демонстрирующий действия данной статьи от первого до последнего пункта.

Статья включена в следующие темы:

Вверх