使用本地的SQL Server管理器来管理云中的SQL Server

Windows Azure在6月份发布了Persistent Virtual Machine的试用版, 现在就可以把SQL Server部署在云中了。然而部署在云中的数据库在管理上会有一些不方便,因为你不得不远程通过RDS登录到虚机里,再打开SQL Server Management Studio来进行管理。由于这一切都要通过Internet来进行,所以有时候在性能方面不如人意。如果有多个云中的数据库,管理起来就会更为麻烦。你可能更希望在本地的SQL Server管理器上能直接注册和管理云中的数据库,下面介绍一下做法

1. 我们假设已经申请好了一个SQL Server的虚机,叫“SQL-2”。我们首先要设置这个虚机的endpoint,这样这个虚机就能通过Internet被访问到。点击图中的”Endpoints”。然后为虚机”SQL-2”创建一个新的Endpoint

 
  
2. 给endpoint起名叫SQLConnection,这里private port是1433,这是SQLServer常用的端口号,Public port虚机对外的端口,从安全性来考虑,建议用一个自定义的端口号,下面用了5433的端口

3. 设置完endpoint后,必须给SQLServer虚机设置防火墙允许对SQLServer 1433端口的访问。在虚机SQL-2里面点击Connect连接到虚机SQL-2

4. 在Server Manager ->Configuration -> Windows Firewall with Advanced Security -> Inbound Rules, 创建一个新的规则



 

5. 打开防火墙的1433端口后,下面必须把SQL Server的安全认证模式改为混合。Windows Authentication mode不支持适合通过Internet 来建立连接

6. 重起SQL Server的服务后,混合模式就生效了,下面要用本地的SQL Server Management Studio 来注册和连接SQL-2的虚机了。Windows Azure 上面的虚机会采用机器名+Cloudapp.net的后缀。下面我们打开本地的SQL Server Management Studio,点击Connect -> Database Engine, 服务器名使用“SQL-2.cloudapp.net,5433”(5433是我们前面设置的虚机对外的端口号), 使用SQL Server Authentication的认证模式,然后用SA和密码就可以成功注册管理云中的数据库了