Разрешить удаленные подключения к SQL Express с помощью скрипта - PullRequest
4 голосов
/ 04 февраля 2012

Я развертываю приложение с SQL Server Express 2008. В разделе предварительных требований моего приложения я включил:

enter image description here

В результате, когда пользователь устанавливает мое приложение, он также устанавливает sql express.

Тогда я смогу подключиться к этому ядру базы данных как:

        try
        {
            // database should be in the same network
            SqlConnection conn =
                new SqlConnection(@"Data Source=.\sqlexpress; Integrated Security=True");
            conn.Open();
            MessageBox.Show("Connection succesfull");
        }
        catch
        {
            MessageBox.Show("Unable to connect");
        }

Теперь, когда я устанавливаю другое приложение (клиентская версия), я хотел бы иметь возможность подключиться к этому ядру базы данных. Мне удалось подключиться к нему, выполнив что-то вроде:

        try
        {

            SqlConnection conn =
                new SqlConnection(@"Data Source=192.168.0.120\sqlexpress,22559; USER=sa; PASSWORD=*********");
            conn.Open();
            MessageBox.Show("Connection succesfull");
        }
        catch
        {
            MessageBox.Show("Unable to connect");
        }

Чтобы этот код работал, мне нужно было сделать следующее:

enter image description here

enter image description here


Итак, мой вопрос:

Как я могу настроить это с помощью кода? Когда я развертываю свое приложение, я хочу, чтобы мое приложение установило sql express, как это происходит, но я также хочу включить соединения TCP / IP, включить некоторые порты и, наконец, создать пароль для учетной записи «SA», потому что я не могу подключиться к база данных удаленно, если у учетной записи sa нет пароля.

Или, может быть, я многого прошу и делаю не то. возможно, я должен сделать все это только для базы данных, которую планирую развернуть, а не для механизма базы данных. что проще. Мне было трудно развернуть это, может быть, будет проще развернуть локальную базу данных вместе со службой wcf для удаленного создания операций CRUD на локальной базе данных.

Eidt

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

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 / невозможно подключиться к sql-2008-express-on-same-lan.aspx

Ответы [ 3 ]

3 голосов
/ 06 февраля 2012

скачал sql server express 2008 (SQLEXPR32_x86_ENU.exe) и поместил его в корень диска c.затем устанавливаю его со следующими параметрами:

C: \ SQLEXPR32_x86_ENU.exe / q / hideconsole / action = Install / features = SQL / instancename = SQLEXPRESS / enableranu = 1 / sqlsvcaccount = "NT Authority \ Network Service"/ AddCurrentUserAsSqlAdmin / skiprules = RebootRequiredCheck / TCPENABLED = 1

Я добавляю / TCPENABLED = 1 для включения TCP / IP

1 голос
/ 04 февраля 2012

Я предлагаю вам создать модифицированный bootstrapper package для установки Sql Server 2005 Express с настройкой.

В качестве альтернативы вы также можете использовать настраиваемое действие в установщике для изменения целевого сервера с помощью SMO.

Примерно так:

Server server = new Server( "ServerName\\InstanceName" ); 
server.ConnectionContext.Connect();
server.Settings.LoginMode = ServerLoginMode.Mixed;
server.Settings.Alter();

Мы используем объект SMO для создания имени пользователя и связывания пользователя с нашей созданной базой данных приложения ... даже запускаем сценарий sql для создания базы данных, если база данных недоступна ..

Ссылки по этим ссылкам:
Настройка SQL Express во время установки
Настройка SQL Server при включении в качестве требования

Примечание. Создайте настройки строки подключения к серверу sql в файле App.config, а не вставляйте хардкор в код. Это поможет вам настроить приложение при первом запуске, например. создание базы данных.

1 голос
/ 04 февраля 2012

Это может помочь, у меня какое-то время было это в моем списке задач для компьютеров, которые мне нужно настроить, чтобы мое приложение работало с Sql Server 2008 Express.По сути, это способ настройки сценария, который установщик SQL08exp будет читать и автоматизировать большую часть настроек в соответствии с настройками, заданными в сценарии.

http://digitalformula.net/articles/how-to-perform-an-unattended-installation-of-sql-server-2008-express/

http://blogesh.wordpress.com/2008/09/23/silent-install-of-sql-server-2008/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...