别名不在sql server 2008 r2上工作

时间:2011-06-20 04:27:31

标签: sql sql-server tsql sql-server-2008 alias

我有几台服务器上有SQL Server 2008 R2实例,别名不适用于任何服务器。

客户端使用TCP / IP连接到这些服务器没有任何问题,telnet工作在IP /端口我用于我的别名,防火墙异常被创建,基本上一切正常,除非我创建别名,我无法连接使用TCP / IP或命名管道(本地或其他服务器之一)通过它到我的服务器。

我已经安装了最新的累积更新,它也更新了本机客户端(我认为这是问题的根源),我仍然遇到了问题。更奇怪的是,如果我在服务器上使用sql server 2005(本机客户端9)创建别名,我可以连接到我的2008 r2实例。有什么建议?

8 个答案:

答案 0 :(得分:22)

在您确定之后,这不是防火墙问题,TCP / IP问题,并且您可以定期连接到服务器而不使用别名,只有连接别名时出现问题,我在Vista和Windows 7上遇到此问题。 / p>

解决方案是在“SQL Server配置管理器”中的“SQL Server网络配置”中设置正确的端口。

以下是步骤:

转到计算机管理 - >服务和应用 - > SQL Server配置管理器 - > SQL Server网络配置

请注意,您也可以直接打开SQL Server配置管理器(而不是从计算机管理)

然后在SQL Server网络配置中,如果尚未启用,则启用TCP / IP协议。

右键单击以打开TCP / IP协议的属性

然后在IP地址标签上,您将有几个记录。

每个人都把TCP Port = 1433

如果使用x64操作系统,则有两个“SQL Server网络配置”节点,一个用于32位,另一个用于64位。确保你已经检查了这两个端口。

祝你好运

答案 1 :(得分:6)

对我而言,创建重要的别名的顺序。请看这个链接: W2K8 R2 SQL Alias will not connect 我首先删除了所有内容,CliConfig别名和Configuration Manager Native Client配置别名。然后重新创建,首先添加CLICONFG版本。

  1. 运行CLICONFG - 创建TCP别名(默认为x64 版本,如果您使用的是64位操作系统

  2. 从SQL Server配置     Manager在“SQL Native Client 10.0”下创建别名     配置“

  3. 尝试使用SSMS进行连接 - 它对我有用。如果没有,你可以继续尝试32位设置。无论如何我做了这个,因为我正在开发的使用别名的应用程序是x86。

    1. %SystemRoot%/ SysWow64 / CliConfg.exe(64位O / S上的32位版本)
    2. “SQL Native Client 10.0配置(32位)”下 配置管理工具。

答案 2 :(得分:6)

对我来说,答案是使用32位CLICONFG。 Management Studio和我尝试安装的应用程序都是64位服务器上的32位应用程序。故事的道德是创建64位和32位别名。

答案 3 :(得分:2)

您使用的是命名实例吗?如果是这样,你检查了端口是静态分配的吗?

如果您使用的是默认实例,那么您是否在x64平台上运行?有32位和64位的别名,所以SSMS在同一个盒子上,因为数据库引擎会使用32位部分下的别名,即使该框是64位

答案 4 :(得分:1)

尝试使用IP地址,例如127.0.0.1而不是您的机器名,localhost或。(点)。

答案 5 :(得分:1)

对我来说,这是因为我在64位计算机上创建了别名,但该软件是作为32位应用程序运行的。

Sql Server配置管理器 中确保别名设置在两者下面的以下部分:

  1. SQL Native Client {VersionNo} 配置
  2. SQL Native Client {versionNo}配置(32位)
  3. 无论处理器平台如何,都可以使用它。当然,如果您出于某种原因只想为一个平台提供别名,请设置合适的别名,而不是另一个。

答案 6 :(得分:0)

另外,请检查您的别名是否使用已启用的侦听器(您的别名是否配置为使用TCP,而服务器仅通过共享内存进行侦听?)

答案 7 :(得分:0)

在我的情况下,只有当我将端口放在连接 [server] \ [instance],[port] 上时,它才有用。示例: DBSERVER \ OPERATIONS,1433