2010-03-06 2 views
0

творю автоматическую установку для SQL Server Express 2005 с помощью следующей командыSQL Server Express 2005 набор TCP прослушать порт при помощи команды инструмента

SECURITYMODE=SQL DISABLENETWORKPROTOCOLS=0 SAPWD="****" ADDLOCAL=SQL_Engine,SQL_Data_Files,SQL_Replication,Client_Components,Connectivity,SDK 

Мне нужно знать, есть параметр или утилиту командной строки для настройки служба слушать порт 7005 (см рисунок)

http://www.databasejournal.com/img/2007/01/mak_CLT_image002.jpg

  • Также нужно создать псевдоним с помощью командной строки

Благодаря

+0

Если это предназначено для настольного приложения, вы должны рассмотреть рабочий стол (in-process) движок, такой как компакт-версия sql-сервера, sqlite или даже доступ, а не серверный движок, такой как sql server express.Помимо того, что вы будете лучше для своих пользователей, это упростит ваше развертывание. –

+0

Я знаю все это, НО, к сожалению, у меня нет выбора , так есть ли в командной строке я могу использовать или раздел реестра для этого? спасибо – Wel

ответ

1

Я в настоящее время пытается замарать с этим, вот что я нашел:

  1. Для того, чтобы сервер Sql прослушивать TCP на всех, вы должны настроить его Сделай так. Вы можете использовать файл sac.exe для загрузки конфигурации из файла. Перейдите на рабочий sql-сервер, настроенный с включенным TCP/IP (и все остальное) и запустите «sac.exe out settings.txt». Теперь, на компьютере, на котором вы хотите включить tcp, запустите «sac.exe в settings.txt», а затем перезапустите службу. sac.exe находится в каталоге «% programfiles% \ Microsoft SQL Server \ 90 \ Shared»

  2. Чтобы настроить на определенный порт, вам нужно будет отредактировать значения реестра. Это покажет вам ключи для редактирования http://support.microsoft.com/kb/823938, однако для его скрипта вам необходимо использовать команду «REG ADD» в файле .bat и предоставить соответствующее значение соответствующему ключу. Для меня это HKLM \ Microsoft SQL Server \ MSSQL.1 \ MSSQLServer \ SuperSocketNetLib \ Tcp \ IPAll \ TcpPort и установите его на номер порта (по умолчанию для sql - 1433), а затем установите HKLM \ Microsoft SQL Server \ MSSQL.1 \ MSSQLServer \ SuperSocketNetLib \ Tcp \ IPAll \ TcpDynamicPorts для пустых.

  3. Перезапустите агент SQL Server (Net Stop "Sql Server (SQLEXPRESS)" Чистый старт "Sql Server (SQLEXPRESS)" на моей машине)

Надеется, что это помогает вам или кто-то еще искать это информация (например, я)

0

Я знаю, что это скорее обходное решение, чем правильное решение, но вместо указания (а затем подключения из вашего приложения) определенного TCP-порта вы можете вместо этого включить службу SQL Browser во время молчания установка SQL Server. Это позволит вашему приложению подключаться к интересующему вас экземпляру на основе имени экземпляра, а не TCP-порта.

Это может привести к штрафу за производительность при создании нового соединения, так как для клиента требуется дополнительное обходное соединение между сетью для экземпляра, но (а) для клиент-серверных приложений с долгоживущими соединениями это не будет проблемой, и (б) для приложений-приложений приложений с пулом соединений, хорошо сконфигурированный пул не будет сильно затронут (я думаю), или может потребоваться немного больше соединений для достижения той же производительности.

Дополнительным преимуществом является то, что вы можете иметь более одного экземпляра SQL Server на одном хосте и не заботиться о портах. Например, в вашем (и моем) тихом сценарии установки вам нужно будет сначала проверить, нужен ли тот порт, который вы хотите использовать другим экземпляром. Использование SQL Browser устраняет необходимость в этой логике в вашей установке.

 Смежные вопросы

  • Нет связанных вопросов^_^