本分步指南列出了您必须使用启用对 Microsoft SQL Server 2000 的安全套接字层 (SSL) 加密,如果您的网络环境中具有有效的证书服务器的步骤。 如果您从第三方证书供应商处购买证书,按照供应商提供的说明进行操作。 SQL Server 2000 通过所有网络库允许加密的连接,通过使用证书和 SSL 加密。 您可以通过使用 SuperSocket 的网络库、 Ssnetlib.dll 或 Dbnetlib.dll 启用 SQL Server 加密

如果 SQL Server 群集上使用 SSL 加密,您可以使用相同的过程,不同之处在于该 Virtual SQL Server 的完全合格的域名,并不是单个的计算机名称必须颁发证书。 此外,方式 Microsoft 建议使用证书和 SQL Server 群集上的 SSL 加密是:

  1. 在群集中的每个节点上安装的证书。
  2. 每个客户端上安装受信任的根授权机构。
  3. 启用 强制协议加密 选项,从客户机使用客户端网络实用工具。

有关详细信息,请单击下面的文章编号

启用"强制协议加密"选项是不可逆,如果没有证书的错误:

客户端计算机和服务器之间的通信进行加密,您必须首先决定是否希望为每个服务器或每个客户端的基础上加密。 请记住: 如果启用了加密,服务器上的有当前的 SQL Server 限制。 加密会对所有传入连接。 如果启用了客户端计算机上的加密从客户端的所有传出连接尝试对任何 SQL Server 进行加密的连接。



此外时从服务器中启用强制协议加密,, 它加密的登录和数据。 但是,它不要求客户端以信任相同的根颁发机构。 如果您愿意信任相同的根颁发机构客户,您必须使用客户端网络实用工具或连接字符串选项强制协议加密客户端上的。 这是设计使然。



如果证书无效,或用于启动 MSSQLServer 服务服务帐户不能找到证书,则不会启动 SQL Server。 因此,Microsoft 建议同时使用同一个用来启动 MSSQLServer 服务的用户帐户的登录请求证书。



如果正在运行 SQL Server 的计算机上安装了 Microsoft Internet Information Services (IIS),也可以在使用 IIS 服务管理器向导在

目录安全 选项卡。 证书必须是完全限定的域名 (FQDN) 服务器的已颁发的服务器证书。 对于证书名称不能使用 IP 地址。 客户端计算机必须通过 FQDN 或 NetBIOS 名称服务器的请求到服务器连接。 不能通过使用运行 SQL Server 的计算机的 IP 地址连接到服务器。



如果在计算机中有多个证书安装在用户存储中或在计算机存储区中必须指定哪个证书应该用于 SQL Server。



下面的注册表项中创建类型 REG_BINARY 的证书值:


HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/SuperSocketNetLib

单击证书值,然后键入在数据列中的证书的指纹属性值。



作为一个示例在导出时应该出现类似于以下内容注册表:


[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/SuperSocketNetLib] "Certificate"=hex:2e,67,3e,84,4a,4f,e0,7f,08,42,6a,7a,35,9b,01,94,76,67,0b

如果此注册表项设置为在计算机上的 0,计算机会忽略在计算机上的证书。 运行 SQL Server 的计算机将启动,但不可读在计算机上的证书。 如果您要使用加密,并且计算机只能有一个证书不需要此注册表项。



唯一的方法来验证您已经成功地进行了加密的连接是捕获通过使用 Microsoft 网络监视器或 $ 网络嗅探器工具的两台计算机之间通信。 有关如何安装 Microsoft 网络监视器的详细信息请单击下面的文章编号


请求并安装一个证书,通过使用证书服务器

若要测试与 ODBC 应用程序,请按照下列步骤操作:


  1. 修改 ODBC 或 OLEDB 连接字符串: ODBC
Driver=SQLServer;Server=ServerNameHere;UID=UserIdHere;PWD=PasswordHere;Network=DBNETLIB.DLL;Encrypt=YES

OLEDB

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbNameHere;Data Source=ServerNameHere;Use Encryption for Data=True

  1. 连接到运行 SQL Server 2000 的计算机,并通过使用 Microsoft 网络监视器或网络嗅探器监视通信。