Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
通过csupload把VHD文件上传到Windows Azure上
1. 首先,如果你还未创建过SQL Server的虚机,登录到https://manage.windowsazure.com后,依照下面的方式创建一个SQL Server的虚机。在这边我就不一步一步演示如何创建虚机了
2. 我们创建一个SQL Server 2012试用版的虚机,叫SQLMIgration
3.在创建虚机的过程中,特别要注意到你用哪一个storage account,这一点非常重要,要不然上传VHD后是没有办法加到上传的SQL Server虚机里面,注意到我这边直接用我已经创建了好的storage account 叫“sqlmigration”
4. 下面我们要为csupload做一些准备工作。回到老的windows azure管理网站 https://windows.azure.com/; 先点击”Hosted Services, Storage Account &CDN”, 再点击 “Management Certificates”, “Add Certificate”, 这里我们要创建一个certificate给csupload单独用。我这边创建了一个certificate叫”SQLMigrate”,注意记下它的Thumbprint的号“C93D90BF06349709CBAC974EB25DD6D9D64A1512”, 我们在设csupload的connection的时候用得到
5. 要使用csupload来上传VHD文件,首先要确定你已经下载安装了Windows Azure SDK. 如果你装的是6月份的预览版,装好了以后csupload.exe就在C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin的目录下。csupload用起来有一些麻烦,至少我不是很喜欢,以后应该有更友好的图形界面。现在我们要设csupload的连接
csupload set-connection
SubscriptionID=<subscription-id>;CertificateThumbprint=<cert-thumbprint>;ServiceManagementEndpoint=https://management.core.windows.net
在上面的命令中,用你的windows azure的订阅号和 第四步记下的Thumbprint的号来取代;ServiceManagementEndpoint就不用动了
6. 运行csupload的命令,返回一下的结果,说明连接设好了
7. 接着运行 “csupload Add-Disk -Destination https://sqlmigration.blob.core.windows.net/migration/SQLmigration.vhd -label SQLMigration -LiteralPath C:\temp\VHD\SQLMigration.vhd”。这里Destination 包括了你storage account的blobs Endpoint信息https://sqlmigration.blob.core.windows.net还有VHD的名称和存储位置 /migration/SQLmigration.vhd。LiteralPath 指的是本地的VHD的路径。
由于网络连接的速度问题,我试用csupload上传的时候经常会碰到“An unexpected error occurred: Server operation did not finish within user specified timeout '90' seconds”的错误,这时候你必须修改csupload.exe的配置文件.配置文件一般位于C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin>里面,修改前建议做个备份,主要是改两个地方
<csupload
uploadBlockSizeInKb="1024" /*改成512KB
maxUploadThreads="8" /* 你可以改成比8小的数, 我改成了4 就可以了
ignoreServerCertificateErrors="false"
maxVHDMountedSizeInMB="66560"
/>
改好好了上传速度会变慢,等Azure在中国落地后,连接速度快了以后可以再改回来
下面是运行结果
8. 这时候你回到https://manage.windowsazure.com,点击Virtual Mahcines –> Disks, 你就可以看到上传的VHD了
9. 下面点击虚机SQLMIgration –> Attach, 再点击Attach Disk. 请注意Attach Disk只能attach同一个storage account下面的DISK,这就是我强调的虚机和上传的VHD一定要用同一个storage account,要不然你的虚机是看不到你上传的VHD的
10. Attach好了以后就简单了,点击Connect进入虚机里面,打开文件浏览器会看到多了一个磁盘,里面就有上传的数据库文件。这时候你打开SQL Server管理器,把这个数据库文件导入进来就可,这就是最后一步,我这边就不多做描述了,相信大家不会有问题的