Azure资源管理器SQL数据库 - 没有PowerShell导出?

时间:2016-02-12 10:14:25

标签: azure export azure-powershell azure-resource-manager azure-sql-database

我只是在看一些" AzureRMSQL" powershell命令来管理数据库和数据库服务器。清单就在这里......

https://msdn.microsoft.com/library/azure/mt574084.aspx

似乎没有导出命令。我错过了什么吗?该功能在新门户中存在,因此应该可以。

对于非R​​esource Manager SQL数据库,有一个命令" Start-AzureSqlDatabaseExport"但我认为这不适用于RM数据库。

由于 将

2 个答案:

答案 0 :(得分:1)

我使用以下命令多次尝试:

$Credential = Get-Credential
$SqlContext = New-AzureSqlDatabaseServerContext -ServerName $ServerName -Credentials $Credential
$StorageContext = New-AzureStorageContext -StorageAccountName $StorageName -StorageAccountKey $StorageKey
$Container = Get-AzureStorageContainer -Name $ContainerName -Context $StorageContext
$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlContext -StorageContainer $Container -DatabaseName $DatabaseName -BlobName $BlobName

但是当使用New-AzureSqlDatabaseServerContext创建服务器连接上下文时,消息显示服务器未找到或无法访问:

New-AzureSqlDatabaseServerContext : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that S
QL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
At line:1 char:8
+ $Con = New-AzureSqlDatabaseServerContext -ServerName "derekserver" -C ...
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzureSqlDatabaseServerContext], SqlException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.SqlDatabase.Database.Cmdlet.NewAzureSqlDatabaseServerContext

基本上我们可以推测New-AzureSqlDatabaseServerContext不能与Azure Resource Manager SQL数据库一起使用。

现在找不到具有相同功能的ARM cmdlet。

答案 1 :(得分:0)

在第一次刷时,仅仅由于没有合适的cmdlet,这可能会有点混乱。但是,SQL Server的工作方式与存储的工作方式类似。获得身份验证上下文后,ASM和ARM部署都将使用ASM cmdlet。

在这种情况下,你会做这样的事情

import pyodbc
conn =pyodbc.connect("driver={SQL Server Native Client 11.0};server=databaseBName; database=master; trusted_connection=yes;", autocommit=True)
curr = conn.execute("CREATE DATABASE databaseName ON (FILENAME='E:\\SQL\\path_to_file.mdf') FOR ATTACH;")
curr.close()