Azure 虚拟网络 - 连接本地数据库






4.29/5 (6投票s)
Windows Azure 虚拟网络允许我们在本地和 Windows Azure 资源之间建立基于 IP 的网络连接。在本例中,我们将学习如何通过 TCP 端口将本地 SQL Server 数据库连接到云应用程序的基础知识。
引言
通常,大多数云应用程序都用于连接 SQL Azure 等数据库。但有些客户可能出于数据安全方面的考虑,希望使用自己的数据库服务器。在本例中,我们可以从自己的系统建立到云应用程序的本地数据库连接。为此,我们需要互联网连接和 Azure 订阅才能继续。
完成此示例需要执行以下步骤
第一步:准备本地数据库设置
第二步:配置并启用 SQL Server 的 TCP 端口 4133
第三步:将本地计算机添加到 Azure Connect
第四步:创建一个带有 Web 角色(Web Role)的云项目,并添加用于 SQL Server 连接测试的代码
第五步:向 Azure Connect 添加角色
第六步:发布项目
第七步:建立连接组
第八步:使用 Azure 角色实例测试 Azure 本地 SQL Server 连接
第一步:准备本地数据库设置
我们可以使用任何 SQL Server Express 版本。在本例中,我使用的是“Denali Express Edition”,服务器名称为“Raj-PC”。服务器名称可以根据您的软件设置而定;如果它带有 Express Edition 的默认实例,则可能为 <ServerName>/SQLEXPRESS。
名为“emp
”的表包含一些示例数据,有两个列:empno
和 ename
。
第二步:配置并启用 SQL Server 的 TCP 端口 4133
通过右键单击 SQL Server 并选择“属性”来验证 SQL Server 配置。服务器身份验证必须是混合模式,并且应允许远程连接。
转到 SQL Server 配置管理器并启用 TCP/IP 协议。
双击 TCP/IP,在“IP All”部分设置/验证端口 1433,然后重新启动服务器实例。
现在,在 Windows 防火墙设置中为 TCP 端口 1433 添加新的防火墙规则。转到“控制面板”-->“Windows 防火墙”--> 点击“高级设置”。快捷方式为“开始”-->“运行”-->wf.msc。
在“入站规则”部分,单击“新建规则”链接,然后选择“端口”作为规则类型。
在“协议和端口”中,选择 TCP 并将端口号输入为 1433。
在“操作”和“配置文件”部分保留默认设置,最后为新规则输入名称并完成向导。
第三步:将本地计算机添加到 Azure Connect
注意:目前此功能仅作为 beta 项目“Windows Azure connect”的一部分提供;我们需要申请此功能以获得批准。
使用拥有订阅的 Windows Live ID 登录 Windows Azure 门户 https://windows.azure.com,然后在“虚拟网络”部分,选择订阅 ID,然后单击顶部菜单中的“安装本地终结点”(Install Local Endpoint)按钮。
在弹出的屏幕上,将 URL 复制到剪贴板,然后粘贴到新的网页浏览器窗口中。它将开始安装软件。
成功安装后,我们可以在 Windows 任务栏中看到一个名为“Windows Azure Connect”的图标。
在 Azure 门户中验证已激活的终结点。
第四步:创建一个带有 Web 角色的云项目,并添加用于 SQL Server 连接测试的代码
使用 Visual Studio 2010 创建一个云项目,并添加一些用于本地 SQL Server 连接的代码。在这里,我们可以在 Default.aspx 页面上使用 Gridview
控件显示数据。为了方便起见,我们将连接字符串和查询直接添加到代码中。
Default.aspx.cs:
// Data Source=ServerName\SQLExpress, 1433;
// Here Raj-PC is the server name
string cnstr = "Data Source=Raj-PC, 1433;Initial Catalog=rsdb;
Persist Security Info=True;User Id=sa;Password=mypassword;
MultipleActiveResultSets=True;";
SqlConnection cn = new SqlConnection(cnstr);
SqlCommand cmd = new SqlCommand("select empno, ename from emp", cn);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
grdView.DataSource = dr;
grdView.DataBind();
...
第五步:向 Azure Connect 添加角色
在 Azure 门户中,单击“组和角色”(Groups and Roles)的“获取激活令牌”(Get Activation Token),然后将令牌复制到剪贴板。
返回到 Visual Studio 云项目,选择 WebR
属性。在“虚拟网络”选项卡中,粘贴上面复制的激活令牌。ole1
第六步:发布项目
将云项目发布到 Azure 平台,并在 Connect Azure 下验证创建的 WebRole1
实例。这可以通过创建项目包并在 Azure 门户的托管服务(hosted services)下进行部署来完成。有关如何发布云项目的详细信息,请参阅任何相关文章,例如:创建和部署 Windows Azure 应用程序。
第七步:建立连接组
选择 Azure Connect 的“组和角色”(Groups and Roles),然后单击顶部菜单中的“创建组”(Create Group)按钮。
在弹出的屏幕上,输入组名,然后选择“终结点”(Endpoint)和“Azure 角色”(Azure Role),最后单击“完成”按钮。
现在,我们可以在 Azure 门户中 webrole1
下看到已创建的连接组。我们还可以验证任务栏中“Windows Azure Connect”图标的状态。
第八步:使用 Azure 角色实例测试 Azure 本地 SQL Server 连接
从 Azure 门户复制已发布的云项目 DNS URL,然后运行应用程序。
参考
参考 MSDN 文章:MSDN。
历史
- 2011 年 9 月 27 日:初稿