Я развертываю sql express с моим приложением. Мне понравится, что этот механизм базы данных принимает удаленные подключения. Я знаю, как настроить это руководство, запустив диспетчер конфигурации SQL Server, включив подключения tcp/ip, указав порты и т.д. Мне интересно, можно ли сделать то же самое из командной строки.
Или, может быть, мне придется создать "Project Server 2008 SQL Server" в visual studio.
РЕДАКТИРОВАТЬ 1
Я разместил здесь один и тот же вопрос, но мне хотелось бы сделать то же самое на экземпляре sql express, который уже установлен. Посмотрите здесь вопрос
EDIT 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 - Откройте правильные порты в брандмауэре
(Я сделал это руководство, но я верю, что смогу выяснить, как это сделать с помощью С#) До сих пор я должен играть с этой консольной командой:
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) по умолчанию passowrd
По умолчанию у учетной записи sa есть NULL passowrd. Чтобы принимать соединения, у этого пользователя должен быть пароль. Я изменил параметр passowrd по умолчанию sa с помощью script:
ALTER LOGIN [sa] WITH PASSWORD='*****newPassword****'
6 - наконец
сможет подключиться, если все последние шаги удовлетворяются как:
SQLCMD -U sa -P newPassword -S 192.168.0.120\SQLEXPRESS,1433
набрав это в командной строке: строка соединения в С# будет очень похожей. Мне нужно будет заменить -U для пользователя, -P для пароля и -S для источника данных. Я не помню точных имен.