Azure 为什么我不能在没有访问所有其他数据库的情况下导入数据层应用程序?
我正在尝试通过Azure blob存储备份和还原位于Azure SQL数据库中的数据库。为此,我在所选数据库上运行了Azure 为什么我不能在没有访问所有其他数据库的情况下导入数据层应用程序?,azure,azure-sql-database,ssms,azure-storage-blobs,Azure,Azure Sql Database,Ssms,Azure Storage Blobs,我正在尝试通过Azure blob存储备份和还原位于Azure SQL数据库中的数据库。为此,我在所选数据库上运行了导出数据层应用程序…,并成功地将其作为BACPAC文件存储在blob容器中。现在,我正尝试执行反向操作并导入数据层应用程序…以检查备份过程功能是否正确,但我收到以下错误: '服务器主体“用户名”无法访问数据库 当前安全上下文下的“数据库A” 它引用的数据库是服务器中第一个列出的数据库,我正在尝试创建一个我没有权限访问的新数据库,每次我授予自己访问第一个数据库的权限时,它只是将列表向
导出数据层应用程序…
,并成功地将其作为BACPAC文件存储在blob容器中。现在,我正尝试执行反向操作并导入数据层应用程序…以检查备份过程功能是否正确,但我收到以下错误:
'服务器主体“用户名”无法访问数据库
当前安全上下文下的“数据库A”
它引用的数据库是服务器中第一个列出的数据库,我正在尝试创建一个我没有权限访问的新数据库,每次我授予自己访问第一个数据库的权限时,它只是将列表向下移动到下一个,并再次阻止我。我不明白为什么我需要数据库A、B、C的权限。。。创建一个新的数据库,它是D的副本,特别是当我有db\u管理者
角色时,因此创建数据库不应该有问题
此错误是否表示我的备份导入有问题,或者这是一个已知问题,并且我需要对服务器中要导入备份的所有数据库拥有权限?请将(SSMS)更新到最新版本,并尝试使用最新的SSMS导出/导入
您可以使用Azure portal实现同样的目标。打开相应的数据库服务器页面,然后在工具栏上选择导入数据库
选择BACPAC文件的存储帐户和容器,然后选择要从中导入的BACPAC文件。此外,请指定新的数据库大小(通常与源数据库相同)并提供目标SQL Server凭据
您也可以尝试使用PowerShell
$importRequest = New-AzSqlDatabaseImport
-ResourceGroupName "<your_resource_group>" `
-ServerName "<your_server>" `
-DatabaseName "<your_database>" `
-DatabaseMaxSizeBytes "<database_size_in_bytes>" `
-StorageKeyType "StorageAccessKey" `
-StorageKey $(Get-AzStorageAccountKey -ResourceGroupName "<your_resource_group>" -StorageAccountName "<your_storage_account").Value[0] `
-StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
-Edition "Standard" `
-ServiceObjectiveName "P6" `
-AdministratorLogin "<your_server_admin_account_user_id>" `
-AdministratorLoginPassword $(ConvertTo-SecureString -String "<your_server_admin_account_password>" -AsPlainText -Force)
$importRequest=新AzSqlDatabaseImport
-ResourceGroupName“”`
-服务器名“”`
-数据库名称“”`
-数据库MaxSizeBytes“”`
-StorageKeyType“StorageAccessKey”`
-StorageKey$(获取AzStorageAccountKey-ResourceGroupName“”-StorageAccountName)