Разрешить удаленные соединения tcp\ip к уже установленной базе данных sql server express с помощью кода или скрипта (запроса)

Я развертываю sql express с моим приложением. Я хочу, чтобы механизм базы данных принимал удаленные соединения. Я знаю, как настроить это вручную, запустив sql server configuration manager, включив tcp/ip соединения, указав порты и так далее. Мне интересно, можно ли сделать то же самое из командной строки.

Или, возможно, мне придется создать "Проект сервера SQL Server 2008" в visual studio.

EDIT 1

Я разместил тот же вопрос здесь, но я хочу сделать то же самое на экземпляре sql express, который уже установлен. Посмотрите на вопрос здесь

EDIT 2

Я нашел эти ссылки, которые утверждают, что можно сделать что-то подобное, но я все еще не могу заставить это работать.

1) http://support.microsoft.com/kb/839980

2) http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/c7d3c3af-2b1e-4273-afe9-0669dcb7bd02/

3) http://www.sql-questions.com/microsoft/SQL-Server/34211977/can-not-connect-to-sql-2008-express-on-same-lan.aspx

4) http://datazulu. com/blog/post/Enable_sql_server_tcp_via_script.aspx


EDIT 3

Как указал Кшиштоф в своем ответе, мне нужно (плюс другие вещи, которые я знаю, что необходимы)

1 - включить TCP/IP

enter image description here

Мне удалось сделать это при установке нового экземпляра SQLExpress, передав параметр /TCPENABLED=1. Когда я установлю sql express, как в этом примере, у этого экземпляра sql express будет включен TCP/IP

2 - Открыть нужные порты в брандмауэре

(я сделал это вручную, но я верю, что смогу понять, как это сделать с помощью c#). Пока что мне приходится играть с этой консольной командой:

netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT

3 - Изменить свойства TCP/IP включить IP адрес

enter image description here

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

4 - Включить смешанный режим аутентификации в sql server

enter image description here

Мне удалось сделать это при установке SQL Express, передав параметр /SECURITYMODE=SQL см. ссылку на шаг 1.

SQL Server express требует этот тип аутентификации для приема удаленных соединений.

5 - Изменить пароль пользователя (sa) по умолчанию

По умолчанию учетная запись sa имеет пароль NULL. Чтобы принимать соединения, этот пользователь должен иметь пароль. Я изменил пароль по умолчанию для sa с помощью скрипта:

ALTER LOGIN [sa] WITH PASSWORD='*****newPassword****' 

6 - наконец

если все последние шаги будут выполнены, вы сможете подключиться к системе, как:

SQLCMD -U sa -P newPassword -S 192.168.0.120\SQLEXPRESS,1433

набрав это в командной строке: строка подключения в C# будет очень похожа. Мне придется заменить -U на user, -P на password и -S на data source. Я не помню точных названий.

39
задан Community 23 May 2017 в 12:10
поделиться