Я развертываю sql express с моим приложением. Я хочу, чтобы механизм базы данных принимал удаленные соединения. Я знаю, как настроить это вручную, запустив sql server configuration manager, включив tcp/ip соединения, указав порты и так далее. Мне интересно, можно ли сделать то же самое из командной строки.
Или, возможно, мне придется создать "Проект сервера SQL Server 2008" в visual studio.
Я разместил тот же вопрос здесь, но я хочу сделать то же самое на экземпляре sql express, который уже установлен. Посмотрите на вопрос здесь
Я нашел эти ссылки, которые утверждают, что можно сделать что-то подобное, но я все еще не могу заставить это работать.
1) http://support.microsoft.com/kb/839980
4) http://datazulu. com/blog/post/Enable_sql_server_tcp_via_script.aspx
Как указал Кшиштоф в своем ответе, мне нужно (плюс другие вещи, которые я знаю, что необходимы)
1 - включить TCP/IP
Мне удалось сделать это при установке нового экземпляра 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 адрес
Я не смог понять, как включить IP, изменить порт и т.д.... Думаю, это будет более сложный шаг для решения
4 - Включить смешанный режим аутентификации в sql server
Мне удалось сделать это при установке 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. Я не помню точных названий.