如何使用CMD将SQL Server实例TCP端口更改为1433?

时间:2015-03-22 02:05:30

标签: sql-server vb.net sql-server-2008-r2 command-prompt vb.net-2010

我在考虑是否可以使用cmd将SQL Server 2008实例TCP端口更改为1433,而不使用SQL Server配置管理器。

我只是想将此应用到我的应用程序设置中,我的客户希望它处于多用户模式。

我知道如何使用cmd启用TCP / IP。我知道如何创建一个脚本以允许Windows防火墙中的特定端口。

提前致谢。如果我的详细信息不足以回答我的问题,请发表评论。

3 个答案:

答案 0 :(得分:2)

不完全是cmd,但PowerShell是新的cmd。 :)

import-module sqlps;
$MachineObject = new-object ('Microsoft.SqlServer.Management.Smo.WMI.ManagedComputer') "computername"
$instance = $MachineObject.getSmoObject(
   "ManagedComputer[@Name='computername']/" + 
   "ServerInstance[@Name='instancename']"
)

$instance.ServerProtocols['Tcp'].IPAddresses['IPAll'].IPAddressProperties['TcpPort'].Value = "1433"
$instance.ServerProtocols['Tcp'].IPAddresses['IPAll'].IPAddressProperties['TcpDynamicPorts'].Value = ""
$instance.ServerProtocols['Tcp'].Alter()

答案 1 :(得分:0)

如果要通过安装程序更改端口,则必须直接编辑注册表以用于您要定位的SQL Server实例。我强烈建议不要这样做,因为你最终可能会选择不正确的实例,或者更糟糕的是做出错误的更改并破坏值和注册表项。

但是,如果您仍然认为这是您想要自动执行的操作,则注册表项位于以下位置:

  

SOFTWARE \ Microsoft \ Microsoft SQL   服务器\实例id \实例\ SuperSocketNetLib \ TCP

必须计算实例名称(也可以通过注册表完成,具体取决于版本将在何处更改)。您还需要确定哪个IP(除非您想要更改IPALL值)是您要定位的IP,因为所有IP都列在他们自己的实例子文件夹中。

答案 2 :(得分:0)

自从我写下上面的答案以来,已经过去了六年(几乎完全一样)。从那时起,最先进的技术已经取得了进步。虽然我确定以前的答案仍然有效,但今天我将使用 dbatools powershell 模块中的 Set-DbaTcpPort。 Check it out!