Как на sql server разрешить удаленные соединения
Перейти к содержимому

Как на sql server разрешить удаленные соединения

  • автор:

Как на sql server разрешить удаленные соединения

С помощью SQL Server 2008 от Майкрософт можно довольно успешно работать с базами данных. В случае, если ваш SQL Server будет находится физически удаленно от Вас, то скорее всего Вам понадобится возможность конфигурировать его удаленно, но такая возможность изначально отсутствует, так как эта опция отключена. В этой статье Вы узнаете, как осуществить настройку сервера SQL Server 2008 для того, чтобы потом иметь возможность к нему подключаться. Запустите «Диспетчер конфигурации SQL Server» (меню Пуск => Все программы => Microsoft SQL Server 2008 => Средства настройки) Нам понадобится запустить в Средствах Настройки «Диспетчер конфигурации SQL Server», к которому можно добраться через Главное Меню -> Microsoft SQL Server 2008.

Альтернативный способ запуска: Win+R -> C:\WINDOWS\system32\mmc.exe /32 C:\WINDOWS\system32\SQLServerManager10.msc Ну и жмите Enter или Ок. Перейдите к окну настройки SQL Server и уже там направимся к каталогу Сетевой Конфигурации, затем к SQL Server и наконец настроим Протоколы для SQL Server. Из нужных портов в этом окне нам понадобится исключительно TCP/IP.

Следующим шагом настроим нам понадобится перейти к дереву Настройка собственного клиента SQL версии 10.0 и в нем подпункт Клиентские протоколы. В этом случае более чем достаточно настроить протокол TCP/IP, который кроме отключения фильтрации фаервола и указания при соединении, больше не требует настроек. Так же не рекомендуется вносить изменения в нумерацию портов, но если Вы все же измените порт по умолчанию (1433), то следует разблокировать его в Firewall.

Закончив с настройкой протокола, найдите в «Службах опцию SQL-сервер» триггер перезапуска сервера. А также обратите внимание на то, чтобы обозреватель SQL-сервер был в состоянии «Работает».

Далее начните работу с Microsoft SQL Server Management Studio. Перейдите в «Свойства» сервера, вызвав контекстное меню на нем.

Установите переключатель в режим «Проверка подлинности SQL Server и Windows», он находится в меню «Безопасность».

В пункте «Соединения» переключитесь в «Разрешить удаленные соединения с этим сервером».

В случае, если у Вас разрешен любой файервол, есть необходимость открыть порт 1433 (во время настройки портов, мы должны были его отконфигурировать). Для старта работы Windows Firewall, нажмите меню Пуск => Панель управления => Windows Firewall (в русскоязычных версиях «брендмауер»).

В новом окошке переключитесь на вкладку «Исключения», выберете опцию «Добавить порт», а после этого опишите правило, например «SQL Server», номер порта – 1433 (указан был ранее) и тип порта «TCP». Нажмите «Ok».

Все указанные правила должны быть отмечены галочками (правила работают). После чего жмите «Ok».

Теперь у Вас будет возможность удаленно работать с SQL Server, подключаясь по IP-адресу.

Что если подключение не работает?

1. Проверьте включен ли SQL Server и работает ли он.

2. Убедитесь, что все блокирующие программы не действуют на сервер, это касается серверной и клиентской части. Для проверки со стороны серверной части достаточно попробовать подключиться через внешний адрес, а не локальный. Отказ подключения, очевидно, указывает на проблемы в настройке сервера.

3. Перезагрузите Windows.

4. Проблема может быть в версии SQL Server, 64- и 32-битные системы настраиваются отдельно.

[РЕШЕНО] Внешнее подключение к MSSQL

Собственно не могу подключиться к MSSQL серверу по ODBC через 1с
Может кто знает куда копать ? как починить.

Попробую по пунктам описать куда копать:
1. стандартный порт для подключение по ODBC 1433 проверяем висит ли что то на этом порту:
netstat -an | find»1433″
2. Если да то копаем в сторону фаервола. разрешаем правила — либо целиком отключаем:
Если у вас включен Windows Firewall (или любой другой), необходимо открыть порт 1433
Если нетстат показывает что ничего не висит на 1433 то проверяем по пунктам:
1. Запускаем SQL Server Configuration Manager
В окне конфигурации SQL Server выберите ветку Network Configuration SQL Server -> Протоколы для SQL Server. Затем включите необходимые порты. Обычно достаточно TCP/IP.
— также в этом окошке откройти закладку ip adresses — и там в самом низу порт — он может быть не стандартный. (подключаться надо на него)

После этого перейдите в ветку Настройка собственного клиента SQL Клиентские протоколы. Произведите настройку необходимых протоколов. Обычно достаточно TCP/IP с настройками по умолчанию. Если вы измените номер порта, его нужно будет разблокировать в файрволе, а также указывать при соединении с SQL сервером. Рекомендуется оставить номер порта по умолчанию – 1433

2. После конфигурации протоколов, перейдите в ветку «Службы SQL Server». Перезапустите SQL Server.
3. Запустите Microsoft SQL Server Management Studio (среду управления сервером баз данных) и подключитесь к серверу. Кликните правой кнопкой мышки по серверу. В появившемся меню выберите «Свойства».
— В разделе «Безопасность» поставьте «Проверка подлинности SQL Server и Windows».
— В разделе «Соединения» установите опцию «Разрешить удаленные соединения с этим сервером».

ПЕРЕЗАПУСТИТЕ СЛУЖБУ SQL SERVERA.
ВОЗМОЖНО КОМУ ТО ПОМОЖЕТ: Фактический порт TCP для подключения через ODBC можно найти в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\SuperSocketNetLib\Tcp

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

1. Запустите NETSTAT -A чтобы просмотреть список открытых портов (скажем, LISTENING). Если 1433 нет среди них, то SQL-сервер не работает или не прослушивает этот порт.

2. Если в списке указано 1433, проверьте локальный брандмауэр, чтобы узнать, разрешает ли он подключение к/из локального хоста и/или разрешает подключения к 1433.

3. Вы можете попробовать TELNET 1433 (к локал хост и к внешнему ip с другово клиент)

Что делать если вы не видите открытый стандартный порт 1433, способы понять, какой порт использует ваш MSSQL

1. через (SQL Server Configuration Manager) — описал в самом первом посте и в посте ниже — этого.
2. через логи событий
3. SQL Server Error Logs
4. через выполнение SQL запроса.
5. через реестр — описал в первом ответе

—- описание всех способов:

By default SQL Server listens on TCP port number 1433, and for named instances TCP port is dynamically configured. There are several options available to get the listening port for SQL Server Instance.

Here are a few methods which we can use to get this information.

Method 1: SQL Server Configuration Manager

Method 2: Windows Event Viewer

Method 3: SQL Server Error Logs

Method 4: sys.dm_exec_connections DMV

Method 5: Reading registry using xp_instance_regread

Let’s see how you can use each of these methods in detail:

Method 1: SQL Server Configuration Manager:

Step 1. Click Start > All Programs > Microsoft SQL Server 2012 > Configuration Tools > SQL Server Configuration Manager

Step 2. Go to SQL Server Configuration Manager > SQL Server Network Configuration > Protocols for <Instance Name>

Step 3. Right Click on TCP/IP and select Properties

Step 4. In TCP/IP Properties dialog box, go to IP Addresses tab and scroll down to IPAll group.

If SQL Server if configured to run on a static port it will be available in TCP Port textbox, and if it is configured on dynamic port then current port will be available in TCP Dynamic Ports textbox. Here my instance is listening on port number 61499.

Method 2: Windows Event Viewer:

When SQL Server is started it logs an event message as ‘Server is listening on [ ‘any’ <ipv4> <port number>’ in windows event logs. Here <port number> will be actual port number on which SQL Server is listening.

To view this using Event Viewer:

Step 1. Click Start > Administrative Tools > Event Viewer.

Note: If Administrative Tools are not available on Start menu, go to Start > Control Panel > System and Maintenance > Administrative Tools > View event logs

Step 2. Navigate to Event Viewer > Windows Logs > Application

Step 3. Since huge amount of event are logged, you need to use filtering to locate the required logs. Right click on Application and select Filter Current Log…

Step 4. You can filter the events by Event ID and Event source. The event we are interested in has Event ID of 26022, and it’s source is SQL Server Instance. You need to filter by both Event ID and SQL Server Instance if you have multiple instances installed, for a single instance you can filter by Event ID only. Click on OK to apply the filter.

Step 5. Once the filter is applied, Locate message ‘Server is listening on [ ‘any’ <ipv4> …’. As we can see from below screenshot that SQL Server Instance is running on TCP Port 61499.

Method 3: SQL Server Error Logs:

When SQL Server is started it also logs an message to SQL Server Error Logs. You can search for port number in SQL Server Error Logs by opening SQL Server Error Log in notepad or via T-SQL using extended stored procedure xp_ReadErrorLog as below:

EXEC xp_ReadErrorLog 0, 1, N’Server is listening on’, N’any’, NULL, NULL, ‘DESC’

LogDate ProcessInfo Text

2013-03-21 13:34:40.610 spid18s Server is listening on [ ‘any’ <ipv4> 61499].

2013-03-21 13:34:40.610 spid18s Server is listening on [ ‘any’ <ipv6> 61499].

(2 row(s) affected)

As we can see from the output that SQL Server Instance is listening on 61499.

Note: This method does not work if SQL Server Error Logs have been cycled. See sp_Cycle_ErrorLog for more information.

Method 4: sys.dm_exec_connections DMV:

DMVs return server state that can be used to monitor SQL Server Instance. We can use sys.dm_exec_connections DMV to identify the port number SQL Server Instance is listening on using below T-SQL code:

WHERE session_id = @@SPID

(1 row(s) affected)

As we can see from the output… same as above Smile

Method 5: Reading registry using xp_instance_regread:

Port number can also be retrieved from Windows Registry database.

We can use extended stored procedure xp_instance_regread to get port number information using below T-SQL code:

DECLARE @portNumber NVARCHAR(10)

‘Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll’,

@value = @portNumber OUTPUT

SELECT [Port Number] = @portNumber

(1 row(s) affected)

As we can see … same as above Smile Smile

Note: The above code will only work if SQL Server is configured to use dynamic port number. If SQL Server is configured on a static port, we need to use @value_name = ‘TcpPort’ as opposed to @value_name = ‘TcpDynamicPorts’.

Hope This Helps!

Статические и динамические порты SQL Server

Microsoft SQL Server может работать в двух режимах:
Прослушивание одного порта (по-умолчанию это TCP порт 1433). Этот режим будет выбран по-умолчанию, если во время установки SQL Server не использовать именованный экземпляр.
Динамический выбор портов. В этом случае при запуске SQL Server выберет свободный порт. Этот режим будет выбран по-умолчанию, если во время установки SQL Server настроить на использование именованного экземпляра.

Для того чтобы определить и изменить режим работы SQL Server нужно:
Открыть «Диспетчер конфигурации SQL Server»
В левом столбце выбрать «Сетевая конфигурация SQL Server» -> «Протоколы для <инстанция SQL Server>»
В правом столбце дважды кликнуть по протоколу TCP/IP
В открывшемся окне в разделе IPAll указано два параметра:
«TCP порт» — при помощи этого параметра можно задать статический порт. По-умолчанию значение 1433.
«Динамические TCP порты» — при помощи этого параметра можно задать диапазон, из которых будет выбираться порт для SQL Server

ivinsky

Разрешите удаленные подключения к SQL Server 2005 Express или SQL Server 2005 Developer Edition

Для этого выполните следующие действия.

1. Нажмитекнопку Пуск, выберите Программы, Microsoft SQL Server 2005,перейдите к пункту Средства настройки, затем выберите Настройкаконтактной зоны SQL Server.

2. Настранице Настройка контактной зоны SQL Server 2005 выберите Настройкаконтактной зоны для служб и соединений.

3. Настранице Настройка контактной зоны для служб и соединений разверните DatabaseEngine, выберите Удаленные соединения, затем Локальные иудаленные соединения, выберите нужный протокол для вашей сетевой среды инажмите кнопку Применить.
Примечание. Нажмите кнопку OK при появлении следующего сообщения:

Изменения в настройках соединений вступят в силу толькопосле перезапуска службы компонента Database Engine.

4. Настранице Настройка контактной зоны для служб и соединений разверните DatabaseEngine, выберите Службы, нажмите кнопку Стоп, дождитесьостановки службы MSSQLSERVER, затем нажмите кнопку Пуск для повторногозапуска службы MSSQLSERVER.

Включите службу SQL Server Browser

При запуске SQL Server 2005 с использованием имениэкземпляра без использования отдельного номера порта TCP/IP в строкеподключения необходимо разрешить службе SQL Server Browser принимать удаленныеподключения. Например, SQL Server 2005 Express устанавливается с именемэкземпляра по умолчанию имя_компьютера\SQLEXPRESS. Службу SQL ServerBrowser необходимо запустить только один раз, независимо от количествазапущенных экземпляров SQL Server 2005. Чтобы включить службу SQL ServerBrowser, выполните следующие действия.

1. Нажмите кнопку Пуск, выберите Программы, MicrosoftSQL Server 2005, перейдите к пункту Средства настройки, затемвыберите Настройка контактной зоны SQL Server.

2. На странице Настройка контактной зоны SQL Server 2005выберите Настройка контактной зоны для служб и соединений.

3. На странице Настройка контактной зоны для служб исоединений выберите SQL Server Browser, выберите Авто для Типзапуска, затем нажмите кнопку Применить.
4. Нажмите кнопку Пуск, затем нажмите кнопку OK.

Программист ASP.NET MVC C#

http://www.freetimes.org.ua/

Как настроить SQL Server 2008 R2 для удаленных подключений Sql Browser

Запустите «SQL Server Configuration Manager» (меню Пуск -> Все программы -> Microsoft SQL Server 2008 R2 -> Configuration Tools).

sql server

В окне конфигурации SQL Server выберите ветку "SQL Server Network Configuration"-> "Protocols for MSSQLSERVER" Затем включите необходимые порты. Обычно достаточно TCP/IP.

sql browse

После этого перейдите в ветку "SQL Native Client 10.0 Configuration" -> "Client Protocols". Произведите настройку необходимых протоколов. Обычно достаточно TCP/IP с настройками по умолчанию. Если вы измените номер порта, его нужно будет разблокировать в файрволе, а также указывать при соединении с SQL сервером. Рекомендуется оставить номер порта по умолчанию – 1433.

sql browse

После конфигурации протоколов, перейдите в ветку «SQL Server Services». В списке будет как минимум три службы. Необходимо запустить службу «SQL Server Browser» (SQL Server обозреватель), а также перезапустить сам SQL Server.

Для запуска службы «SQL Server Browser» кликните по ней два раза (либо используйте контекстное меню «Свойства»). В появившемся окне, на первой вкладке — «Log On» в разделе «Log On as:» выберите учетную запись «Сетевая служба» (Network Service). Затем перейдите на вкладку «Service», в разделе «Start Mode» поставте «Автоматически» (Automatic).

sql browse

Нажмите «Ok», после чего службу «SQL Server Browser» можно будет запустить. Сделать это можно через контекстное меню "Start", либо основное меню Действие -> Запустить, либо кликнув на иконку с изображением стрелочки на панели инструментов.

После этого перезапустите основную службу «SQL Server» через соответствующие пункты меню, либо кнопку с изображением полукруглой стрелочки на панели инструментов.

Запустите Microsoft SQL Server Management Studio и подключитесь к серверу. Кликните правой кнопкой мышки по серверу. В появившемся меню выберите «Properties».

В разделе «Security» поставьте Server authentication «SQL Server and Windows Authentication mode».

sql browse

В разделе «Connections» установите опцию «Allow remote connetcions to this server».

sql browse

Если у вас включен Windows Firewall (или любой другой), необходимо открыть порт 1433 (ранее указанный в параметрах конфигурации портов). Чтобы запустить Windows Firewall, нажмите меню Пуск -> Панель управления -> Windows Firewall (Windows Брандмауэр).

В появившемся окне перейдите на вкладку «Исключения», нажмите на кнопку «Добавить порт», затем введите описание правила, например «SQL Server», номер порта – 1433 (указанный в настройках выше) и тип порта «TCP». Нажмите «Ok».

firewall

Затем, не закрывая окно брандмауэра, нажмите на кнопку «Добавить программу». Выберите в списке программ «SQL Browser», если её нет в списке, используйте кнопку «Обзор», чтобы выбрать файл на диске. Обычно файл SQLBrowser.exe расположен по адресу «C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe». Аналогично добавьте «SQL Server», который может располагаться по адресу «C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe», в зависимости от версии.

Убедитесь, что у всех добавленных вами правил стоят галочки (правила включены). После чего нажмите на кнопку «Ok».

windows

Теперь вы можете подключаться к вашему SQL Server через IP-адрес сервера.

Подскажите, почему отключается служба SQL Server после перезагрузки системы? и как это исправить,как его снова запустить?!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *