SQL server命令创建服务器别名?

时间:2011-08-15 13:10:10

标签: sql sql-server

MSDN表示创建服务器别名有4个步骤:

  
      
  1. 在SQL Server配置管理器中,展开“SQL Server Native Client配置”,右键单击“别名”,然后单击“新建别名”。
  2.   
  3. 在“别名”框中,键入别名的名称。客户端应用程序在连接时使用此名称。
  4.   
  5. 在“服务器”框中,键入服务器的名称或IP地址。对于命名实例,请附加实例名称。
  6.   
  7. 在“协议”框中,选择用于此别名的协议。选择协议,更改可选属性框的标题   到端口号,管道名称或连接字符串。
  8.   

但是不是用“UI方式”来做,而是有SQL命令来做吗?

2 个答案:

答案 0 :(得分:6)

客户端的服务器别名配置是客户端配置而不是SQL Server配置。因此,没有SQL命令可以创建一个,就像没有用于创建ODBC连接的SQL命令一样。

您可以使用WMI通过powershell编写脚本配置脚本,开始的地方是: http://msdn.microsoft.com/en-us/library/ms179354.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.wmi.aspx

这是一个使用wmi创建别名的PowerShell示例

# List existing aliases
Get-WmiObject -Namespace 'root\Microsoft\SqlServer\ComputerManagement10' -Class 'SqlServerAlias' |
    Format-Table -Property 'AliasName', 'ServerName', 'ProtocolName', 'ConnectionString'

# Example script to create an alias
$alias = ([wmiclass] '\\.\root\Microsoft\SqlServer\ComputerManagement10:SqlServerAlias').CreateInstance()
$alias.AliasName = 'bob'
$alias.ConnectionString = '1433' #connection specific parameters depending on the protocol
$alias.ProtocolName = 'tcp'
$alias.ServerName = 'example_server'
$alias.Put() | Out-Null;

答案 1 :(得分:0)

要编辑现有别名,我将执行删除\插入操作。

我使用此PS删除别名条目(SQL 2016):

$alias=Get-WmiObject -namespace 'root\Microsoft\SqlServer\ComputerManagement13' -class 'SqlServerAlias' -filter "AliasName='YourAliasName'"
$alias.Delete()