0

我正在使用以下命令为 SQL Server Express 2005 进行静默安装

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

  • 我还需要使用命令行创建别名

谢谢

4

2 回答 2

1

我目前正在尝试解决这个问题,这就是我发现的:

  1. 要让 Sql server 完全监听 TCP,您需要对其进行配置。您可以使用 sac.exe 从文件加载配置。转到配置了启用 TCP/IP(以及其他任何内容)的工作 sql 服务器并运行“sac.exe out settings.txt”。现在,在您希望启用 tcp 的计算机上,运行“sac.exe in settings.txt”,然后重新启动服务。sac.exe 位于“%programfiles%\Microsoft SQL Server\90\Shared”目录中

  2. 要配置到特定端口,您必须编辑注册表值。这将向您显示编辑http://support.microsoft.com/kb/823938的键 但是要编写脚本,您需要在 .bat 文件中使用“REG ADD”命令并为合适的键。对我来说,它是 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)" Net start "Sql Server (SQLEXPRESS)" 在我的机器上)

希望这可以帮助您或其他人搜索此信息(例如我)

于 2010-09-15T23:30:41.987 回答
0

我知道这更多的是一种解决方法而不是正确的解决方案,但是您可以在 SQL Server 的静默安装期间启用 SQL Browser 服务,而不是指定(然后从您的应用程序连接到)某个 TCP 端口。这将使您的应用程序能够根据实例名称而不是 TCP 端口连接到您感兴趣的实例。

创建新连接时可能会降低性能,因为客户端需要额外的网络往返才能获取实例的端口,但是 (a) 对于具有长期连接的客户端-服务器应用程序,它不会是一个问题,并且(b)对于具有连接池的应用程序服务器应用程序,配置良好的池不会受到太大影响(我认为),或者它可能需要更多的连接才能达到相同的性能。

另一个优点是您可以在同一主机上拥有多个 SQL Server 实例,而无需关心端口。例如,在您(和我的)静默安装方案中,您必须首先检查您想要的端口是否被另一个实例使用。使用 SQL 浏览器在您的安装中消除了对这种逻辑的需要。

于 2011-05-26T17:17:27.347 回答