sql - 别名在 sql server 2008 r2 上不起作用

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

我有几台带有 SQL Server 2008 R2 实例的服务器,并且别名在其中任何一台上都不起作用。

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

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

最佳答案

当您确定这不是防火墙问题、TCP/IP 问题,并且您可以在不使用别名的情况下定期连接到服务器并且仅在使用别名连接时出现问题后,我在 Vista 和 Windows 7 上遇到了此问题。

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

步骤如下:

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

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

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

右键打开TCP/IP协议(protocol)属性

然后在 IP 地址选项卡上您将有几条记录。

对于每一个设置 TCP 端口 = 1433

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

祝你好运

关于sql - 别名在 sql server 2008 r2 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406811/

相关文章:

SQL Server - 归档数据(策略/存储过程)

mysql - SQL中的Join语句

sql - 如何组合来自两个存储过程调用的结果集?

sql - 这个 MySQL 查询有什么问题?

sql - 将存储过程的结果插入临时表

sql - 从所有表和所有具有指定列名的数据库中查找列名 SQL Server

SQL检查组是否包含给定列的某些值(ORACLE)

sql-server - SQL Server合并: If two columns in source table are not equal then insert them as new records in one column of target table

sql-server - 什么时候可以在同一台计算机上托管 IIS 和 SQL Server?

sql-server - 对于多行最高效(快速)的 T-SQL 删除?