|
1. |
在客户端计算机上,使用 Visual Studio.NET 创建一个名为 SQLSecureClient 的新 C# 控制台应用程序。 |
|
2. |
将下面的代码复制到 class1.cs,替换所有现有的代码。
注意:用数据库服务器的名称替换连接字符串中的服务器名。 using System;
using System.Data;
using System.Data.SqlClient;
namespace SQLSecureClient
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
// 使用您的数据库服务器的名称替换
以下连接
// 字符串中的服务器名称
SqlConnection conn = new SqlConnection(
"server='sql01';database=NorthWind;Integrated Security='SSPI'");
SqlCommand cmd = new SqlCommand("SELECT * FROM
Products"); try
{
conn.Open();
cmd.Connection = conn;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0} {1}",
reader.GetInt32(0).ToString(),
reader.GetString(1) );
}
reader.Close();
}
catch( Exception ex)
{
}
finally
{
conn.Close();
}
}
}
}
|
|
3. |
在“生成”菜单上,单击“生成解决方案”。 |
|
4. |
为了使两台计算机之间的 Windows 身份验证取得成功,必须在数据库服务器计算机上复制当前以交互方式登录到客户端计算机所用的帐户。确保用户名和密码都匹配。另一种方法是使用两台计算机都可识别的域帐户。
还必须使用 SQL Server 企业级管理器为新创建的帐户创建一个数据库登录,并在 Northwind 数据库中为此登录添加一个新的数据库用户。 |
|
5. |
在数据库服务器计算机上,使用 SQL Server 网络实用工具禁用加密(确保未选择“强制协议加密”选项)。 |
|
6. |
在数据库服务器计算机上,单击“管理工具”程序组中的“网络监视器”。
注意:Windows 2000 Server 提供网络监视器的限制版。Microsoft SMS 提供网络监视器的完全版。
如果您没有安装网络监视器,请转到控制面板中的“添加或删除程序”,单击“添加/删除 Windows 组件”,从“Windows 组件”列表中选择“管理和监视工具”,单击“详细信息”,然后单击“网络监视工具”。单击“确定”,然后单击“下一步”安装网络监视器的限制版。可能会提示您插入 Windows 2000 Server CD。 |
|
7. |
在“捕获”菜单上,单击“筛选”创建新的筛选器,配置它以查看在应用程序服务器与数据库服务器之间发送的 TCP/IP 网络通信。 |
|
8. |
单击“开始捕获”按纽。 |
|
9. |
返回到客户端计算机,然后运行测试控制台应用程序。Northwind 数据库的产品列表应显示在控制台窗口中。 |
|
10. |
返回到数据库服务器,然后单击网络监视器中的“停止并查看捕获”按钮。 |
|
11. |
双击第一个捕获的帧以查看捕获的数据。 |
|
12. |
向下滚动以查看捕获的帧。您应该能看到明文形式的 SELECT 语句,后面带有从该数据库检索到的产品列表。 |
|
13. |
现在,使用 SQL Server 网络实用工具配置服务器,强制所有连接使用加密:
|
1. |
使用 SQL Server 网络实用工具选择“强制协议加密”。 |
|
2. |
停止并重新启动 SQL Server 服务。 | |
|
14. |
返回网络监视器并单击“开始捕获”按钮。在“保存文件”对话框中,单击“否”。 |
|
15. |
返回到客户端计算机,然后再次运行测试控制台应用程序。 |
|
16. |
返回到数据库服务器计算机,然后单击网络监视器中的“停止并查看捕获”。 |
|
17. |
确认数据现在已变得难以看懂(因为已加密)。 |
|
18. |
重新配置服务器,取消强制加密:
|
1. |
使用 SQL Server 网络实用工具并清除“强制协议加密”复选框。 |
|
2. |
停止并重新启动 SQL Server 服务。 | |
|
19. |
在网络监视器中开始新的捕获并重新运行客户端应用程序。确认数据再次成为明文。 |
|
20. |
返回到客户端计算机,从“Microsoft SQL Server”程序组中选择“客户端网络实用工具”。 |
|
21. |
选择“强制协议加密”,然后单击“确定”关闭客户端网络实用工具。 |
|
22. |
返回网络监视器并单击“开始捕获”按钮。在“保存文件”对话框中,单击“否”。 |
|
23. |
返回到客户端计算机,然后再次运行测试控制台应用程序。 |
|
24. |
返回到数据库服务器计算机,然后单击网络监视器中的“停止并查看捕获”。 |
|
25. |
确认数据现在已经难以看懂(因为已加密)。
请注意,在所有情况下,SQL Server 在通信序列开始时都将其服务器身份验证证书以明文形式发送到客户端。这是 SSL 协议的一部分。还要注意,即使服务器和客户端都不需要加密,这也会发生。 |