2017-02-09 57 views
0

我已經創建了安裝了SQL Server 2014的Windows 2008 R2的Azure RM VM映像。該圖像是使用數據磁盤創建的,我在其中放置了SQL Server數據目錄(系統數據庫的位置,錯誤日誌等)。圖像被sysprepped然後泛化,都成功。如何從廣義Azure RM VM映像保留數據磁盤

我從上面的映像創建了一個新的虛擬機,指向操作系統和數據磁盤的URI。虛擬機已創建,但我必須進入「計算機管理」>「磁盤管理」,然後從提供的卷中調配驅動器。由於SQL Server的啓動過程正在查找那裏不存在的錯誤日誌,系統數據庫等,它基本上是一個失敗的安裝。

有沒有辦法保存數據磁盤上的數據,然後以編程方式將其提供到Windows中?

回答

2

有沒有辦法保存數據磁盤上的數據,然後以編程方式將 提供到Windows中?

是的,你可以。您可以使用Azure PowerShell創建一個通用Azure虛擬機的映像。然後,您可以使用該映像來創建另一個VM。該映像包含OS磁盤和連接到虛擬機的數據磁盤。我在我的實驗室進行過測試,這對我很有用。有關如何從一個廣義Azure的VM捕獲VM映像請參見本link

Stop-AzureRmVM -ResourceGroupName shuitest1 -Name shui -Force 
Set-AzureRmVm -ResourceGroupName shuitest1 -Name shui -Generalized 
$vm = Get-AzureRmVM -ResourceGroupName shuitest1 -Name shui -Status 
$vm.Statuses 
Save-AzureRmVMImage -ResourceGroupName shuitest1 -Name shui -DestinationContainerName "shuitest" -VHDNamePrefix "shuitest" -Path "D:\Filename.json" 

更多信息。

您可以使用映像(包含操作系統磁盤和數據磁盤,但不包含虛擬網絡)來部署虛擬機。有關如何從廣義託管VM映像創建虛擬機的詳細信息,請參閱此link

此外,您可以使用本地json文件來部署您的虛擬機,您需要在Azure Portal上創建一個NIC。如果您使用部署虛擬機的方式,虛擬機沒有公共IP,您需要手動添加它。我在我的實驗室測試,它對我有用。如果可能的話,我建議你使用本地json文件重新部署虛擬機。以下是我的cmdlet。

New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName shuitest1 -TemplateFile "D:\Filename.json" 

enter image description here

+0

您發佈的指示是我跟隨的人。我無法使用'代碼'部署New-AzureRmVM -ResourceGroupName $ rgName-Location $ location -VM $ vm'code'(在構建$ vm之後),因爲它保持超時。所以,我採用了第二個從模板部署的建議。我將NIC和安全組添加到模板和一個私有IP(我們有一個Express路由設置)。我是否錯過模板中的某些語句,使數據磁盤在Windows中可見? – SQLEnforcer

+0

這裏是模板(我編輯了URI,替換爲<存儲帳戶>。模板部署成功,因此忽略了這些URI中任何潛在的語法問題):[link](http://expressnetsolutions.com/sqldch/wp-content/上傳/ 2017/02/template.txt) – SQLEnforcer

+0

嗨,你解決你的問題? –