与MSSQL

时间:2018-11-07 11:36:20

标签: sql-server perl odbc

我使用以下方法将应用程序(Windows上的客户端)连接到远程MSSQL数据库:

use DBD::ODBC;
$dbh = DBI->connect(
   "dbi:ODBC:Driver={SQL Server};
    Server=$SQLservice;UID=$SQLuser;PWD=$SQLpassword", 
    {PrintError => 0, RaiseError => 1, AutoCommit => $AutoCommit, FetchHashKeyName => 'NAME_lc'}
) or die "Can't connect to the database: $DBI::errstr\n";

现在,我的公司询问客户端是否可以使用带SSL的SQL Server 2017。 DBD :: ODBC根本没有提到SSL,而且我还没有在互联网上找到任何信息(更不用说有关如何实现它的详细说明了)。这是否意味着我应该回答“否”?

1 个答案:

答案 0 :(得分:2)

我认为,针对您的情况的最佳解决方案是在SQL Server本身上强制进行加密连接。为此,请在服务器上打开SQL Server配置管理器,在“ SQL Server网络配置”中,右键单击服务器的协议,然后单击“属性”。在“证书”选项卡上,从“证书”框的下拉列表中选择所需的证书,然后在“标志”选项卡的“强制加密”框中,选择“是”。重新启动SQL Server服务。

enter image description here

当然,在这种情况下,您将需要设置证书。有关详细信息,请参见Microsoft的文章Enable Encrypted Connections to the Database Engine