我只是在看一些" AzureRMSQL" powershell命令来管理数据库和数据库服务器。清单就在这里......
https://msdn.microsoft.com/library/azure/mt574084.aspx
似乎没有导出命令。我错过了什么吗?该功能在新门户中存在,因此应该可以。
对于非Resource Manager SQL数据库,有一个命令" Start-AzureSqlDatabaseExport"但我认为这不适用于RM数据库。
由于 将
答案 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()