

# 使用 SQL Server 客户端连接到数据库集群
<a name="babelfish-connect-sqlserver"></a>

您可以使用 SQL Server 客户端与 TDS 端口上的 Babelfish 进行连接。自 Babelfish 2.1.0 及更高版本开始，您可以使用 SSMS Object Explorer 或 SSMS 查询编辑器连接到 Babelfish 集群。

**限制**
+ 在 Babelfish 2.1.0 及更早版本中，使用 `PARSE` 检查 SQL 语法不能正常工作的问题。`PARSE` 命令不是在不运行查询的情况下检查语法，而是运行查询但不显示任何结果。使用 SMSS <Ctrl><F5> 组合键检查语法具有相同的异常行为，也就是说，Babelfish 意外地运行查询而不提供任何输出。
+ Babelfish 不支持 MARS（多个活动结果集）。请确保用来连接到 Babelfish 的所有客户端应用程序都未设置为使用 MARS。
+ 对于 Babelfish 1.3.0 和较早版本，SSMS 只支持查询编辑器。要将 SSMS 与 Babelfish 一起使用，请务必在 SSMS 中打开查询编辑器连接对话框，而不是打开 Object Explorer。如果确实打开了 Object Explorer 对话框，请取消该对话框并重新打开查询编辑器。在下图中，您可以找到连接到 Babelfish 1.3.0 或更早版本时要选择的菜单选项。  
![\[\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/babelfish_connect_ssms.png)

有关 SQL Server 和 Babelfish 之间的互操作性和行为差异的更多信息，请参阅 [适用于 Aurora PostgreSQL 的 Babelfish 与 SQL Server 之间的区别](babelfish-compatibility.md)。

## 使用 sqlcmd 连接到数据库集群
<a name="babelfish-connect-sqlcmd"></a>

您只能通过使用版本 19.1 和更早版本的 SQL Server `sqlcmd` 命令行客户端连接到支持 Babelfish 的 Aurora PostgreSQL 数据库集群并与之进行交互。不支持 SSMS 版本 19.2 连接到 Babelfish 集群。使用以下命令进行连接。

```
sqlcmd -S endpoint,port -U login-id -P password -d your-DB-name
```

这些选项如下所示：
+ `-S` 是数据库集群的端点和（可选的）TDS 端口。
+ `-U` 是用户的登录名。
+ `-P` 是与该用户关联的密码。
+ `-d` 是您的 Babelfish 数据库的名称。

连接后，您可以使用许多与 SQL Server 一起使用的相同命令。要获取一些示例，请参阅[获取 Babelfish 系统目录中的信息](babelfish-query-database.md)。

## 使用 SSMS 连接到数据库集群
<a name="babelfish-connect-SSMS"></a>

您可以使用 Microsoft SQL Server Management Studio (SSMS) 连接到运行 Babelfish 的 Aurora PostgreSQL 数据库集群。SSMS 包括各种工具，包括在[将 SQL Server 数据库迁移到 Babelfish for Aurora PostgreSQL](babelfish-migration.md) 中讨论的 SQL Server 导入和导出向导。有关 SSMS 的更多信息，请参阅 Microsoft 文档中的[下载 SQL Server Management Studio (SSMS)](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16)。要配置 SSL/TLS，请参阅[将 SSL 与 Microsoft SQL Server 数据库实例结合使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Concepts.General.SSL.Using.html)。

**要使用 SSMS 连接到 Babelfish 数据库**

1. 启动 SSMS。

1. 打开 **Connect to Server**（连接至服务器）对话框。要继续连接，请执行以下操作之一：
   + 选择 **New Query**（新查询）。
   + 如果查询编辑器已打开，请选择 **Query**（查询）、**Connection**（连接）、**Connect**（连接）。

1. 为您的数据库提供以下信息：

   1. 对于 **Server type**，选择 **Database Engine**。

   1. 对于 **Server name**（服务器名称），请输入 DNS 名称。例如，您的服务器名称应类似于以下示例。

      ```
      cluster-name.cluster-555555555555.aws-region.rds.amazonaws.com,1433
      ```

   1. 对于 **Authentication**，选择 **SQL Server Authentication**。

   1. 对于 **Login**（登录），输入创建数据库时选择的用户名。

   1. 对于 **Password**（密码），输入创建数据库时选择的密码。  
![\[\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/Babelfish-SSMS-connect-database1.png)

1. （可选）选择 **Options**（选项），然后选择 **Connection Properties**（连接属性）选项卡。  
![\[\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/Babelfish-SSMS-connect-database2.png)

1. （可选）对于 **Connect to database**（连接到数据库）中，指定要连接到的迁移 SQL Server 数据库的名称，然后选择 **Connect**（连接）。

   如果出现指示 SSMS 无法应用连接字符串的消息，请选择 **OK**（确定）。

   如果您在连接到 Babelfish 时遇到问题，请参阅[连接失败](babelfish-troubleshooting.md#babelfish-troubleshooting-connectivity)。

   有关 SQL Server 连接问题的更多信息，请参阅《Amazon RDS 用户指南》**中的[排除与 SQL Server 数据库实例的连接故障](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToMicrosoftSQLServerInstance.html#USER_ConnectToMicrosoftSQLServerInstance.Troubleshooting)。