Включить tcp \ ip для удаленных подключений к уже установленной базе данных sql server express с помощью кода или скрипта (запрос)
Я развертываю SQL Express с моим приложением. Я хотел бы, чтобы этот механизм базы данных принимал удаленные подключения. Я знаю, как настроить это руководство, запустив диспетчер конфигурации сервера sql, включив соединения tcp / ip, указав порты и т. Д. Мне интересно, удастся ли сделать то же самое из командной строки.
Или, может быть, мне придется создать «SQL Server 2008 Server Project» в Visual Studio.
РЕДАКТИРОВАТЬ 1Я написал здесь тот же вопрос, но я хотел бы сделать то же самое на экземпляре SQL Express, который уже установлен.Посмотрите на вопрос здесь
РЕДАКТИРОВАТЬ 2Я нашел эти ссылки, которые утверждают, что делают что-то подобное, и я до сих пор не могу заставить это работать.
1)http://support.microsoft.com/kb/839980
4)http://datazulu.com/blog/post/Enable_sql_server_tcp_via_script.aspx
РЕДАКТИРОВАТЬ 3Как сказал Кшиштоф в своем ответе, мне нужно (плюс другие вещи, которые я знаю, которые требуются)
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
Мне удалось сделать это при установке 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 для пользователя, -P для пароля и -S для источника данных. Я не помню точных имен.