繁体   English   中英

无法使用PowerShell在Azure SQL数据库上设置标记

[英]Can't set a tag on an Azure SQL Database using PowerShell

您可以使用Set-AzureResource在Azure资源(如网站)上设置标记:

Set-AzureResource -Name [site name] -ResourceGroupName [resource group name] -ResourceType Microsoft.Web/sites -ApiVersion 2014-04-01 -Tags @{ Name = [my tag name]; Value = [my tag value] }

但无论我尝试什么,我都无法在Azure SQL DB上运行。 事实上,我甚至无法选择资源 - 这就是我正在尝试的内容:

Get-AzureResource -Name TroyPSTestDB -ResourceGroupName Default-SQL-WestUS -ResourceType Microsoft.Sql/servers -ApiVersion 2014-04-01

我总是得到“提供的资源不存在”。 但是,当我选择所有数据库时,我可以看到资源:

Get-AzureResource -ResourceGroupName Default-SQL-WestUS -ResourceType Microsoft.Sql/servers/databases

这给了我:

Name              : TroyPSTestDB
ResourceGroupName : Default-SQL-WestUS
ResourceType      : Microsoft.Sql/servers/databases
ParentResource    : servers/snyb5o1pxk
Location          : westus
Permissions       :
                    Actions  NotActions
                    =======  ==========
                    *

ResourceId        : /subscriptions/62e2a1e5-4eda-4c1e-805e-44a6c8f8afbd/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/snyb5o1pxk/databases/TroyPSTestDB

什么给出了什么? 我的PS命令有问题吗? 或者你可以不用这种方式选择单个数据库吗? 还有其他方法来获取标签吗? 谢谢!

更新:与提供的参数相关的错误并没有那么多:

Get-AzureResource -Name {dbname} -ParentResource servers / {servername} -ResourceType Microsoft.Sql / servers / databases -ResourceGroupName {resource-group-name} -ApiVersion 2014-04-01

关键是在-ParentResource参数中包含' servers / '。

因此,要设置标记,您需要确保正确设置-ParentResource - 其余参数是正确的。

===

您可以通过新门户添加标签。 管理这个的Powershell东西看起来有一个bug。

在门户网站:/subscriptions/GUID/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/{servername}/databases/{database}?api-version=2014-04-01

在PS中:/subscriptions/GUID/resourcegroups/Default-SQL-WestUS/providers/Microsoft.Sql/{servername}/databases/{database}?api-version=2014-04-01

(注意PS命令中缺少服务器节点)。

提出的问题: https//github.com/Azure/azure-powershell/issues/73

使用AzureRM.Resources 3.0.1,您可以使用以下语法在Sql数据库上设置标记:

Set-AzureRmResource -ResourceType 'Microsoft.Sql/servers/databases' -ResourceName "$sqlServerName/$sqlDatabaseName" -ResourceGroupName $ressourceGroupName -Tag @{ env = "dev" }

实际上, Get-AzureRmResource返回的Sql数据库资源的名称已经具有格式server/database

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM