Подключение к SQL Server 2005 Express через интернет

Для организации доступа к SQL Server 2005 Express через интернет делаем следующее:

Шаг 1. Установка сервера. Установка выполняется обычным порядком за исключением того,  что на этапе выбора экземпляра сервера необходимо установить экземпляр по умолчанию:



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

Шаг 2. Настройка контактной зоны для служб и соединений. Запускаем оснастку SQL Server Настройка контактной зоны SQL Server 2005 (через меню Пуск), выбираем пункт Настройка контактной зоны для служб и соединений и для экземпляра по умолчанию (называется MSSQLSERVER) устанавливаем возможность использования удаленных соединений:



Шаг 3. Настройка конфигурации. Запускаем SQL Server Configuration Manager (опять же через Пуск) и проверяем, включен ли протокол TCP/IP:



На этом настройка собственно сервера заканчивается.

Шаг 4. Настройка маршрутизатора. Предположим, в локальной сети компьютер с установленным SQL Server имеет адрес 192.168.0.119. По умолчанию SQL Server работает по порту 1433, поэтому в настройках NAT маршрутизатора должна появиться такая запись:



Шаг 5. Подключение. Теперь к SQL-серверу можно обратиться извне. Пусть маршрутизатор имеет адрес 99.999.999.999. Тогда при подключении, например, через MSSMSE вводим:



Аналогично можно подключиться из приложения по строке соединения.

Замечание 1. Использование именованных экземпляров сервера. Если использовать именованные экземпляры сервера (по умолчанию именованный экземпляр называется SQLEXPRESS), то при подключении к серверу (см. Шаг 5) к имени сервера нужно через слэш добавить имя экземпляра (например, \SQLEXPRESS). Если речь идет о доступе по IP из локальной сети (в нашем случае 192.168.0.119\SQLEXPRESS), то проблем нет. Если пытаемся получить доступ извне (99.999.999.999\SQLEXPRESS), то возникает ошибка 26 - Error Locating Server/Instance Specified. Проблема связана с динамическими номерами портов для именованных экземпляров (подробности здесь), поэтому, имхо, лучше использовать экземпляр по умолчанию.

Замечание 2. Использование именованных каналов. Как правило, при работе с SQL Server 2005 нет необходимости использовать именованные каналы, поэтому в данном примере они отключены. Однако, если есть необходимость, можно их включить - на удаленный доступ по TCP/IP они не повлияют.


© re-stichka.narod.ru
При публикации данного материала ссылка на источник обязательна.
Hosted by uCoz