C# SQL Server with Azure access创建with Azure管理库for.Net
我使用.Net的azure管理库创建azure SQL server,我需要添加防火墙规则以允许azure服务访问新服务器(如门户中的交换机)。我目前创建的服务器如下所示C# SQL Server with Azure access创建with Azure管理库for.Net,c#,sql-server,azure,azure-sdk-.net,azure-management-api,C#,Sql Server,Azure,Azure Sdk .net,Azure Management Api,我使用.Net的azure管理库创建azure SQL server,我需要添加防火墙规则以允许azure服务访问新服务器(如门户中的交换机)。我目前创建的服务器如下所示 sqlServer = Azure.SqlServers .Define(serverName) .WithRegion(region) .WithExistingResourceGroup(resource
sqlServer = Azure.SqlServers
.Define(serverName)
.WithRegion(region)
.WithExistingResourceGroup(resourceGroup.Name)
.WithAdministratorLogin(AppSettings.SqlServerAdminUser)
.WithAdministratorPassword(AppSettings.SqlServerAdminPassword)
.WithNewFirewallRule("xxx.xxx.xxx.xxx")
.WithNewFirewallRule("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx")
.WithNewElasticPool(poolName, elasticPoolEdition, databaseName)
.Create();
是否有任何我没有找到的选项通常允许Azure服务访问此SQL server
谢谢大家!
是否有任何我没有找到的选项来允许Azure服务
要访问此SQL server
因此,在API级别没有允许Azure服务访问SQL Server的设置。幕后发生的事情是,当您希望通过门户设置此设置时,会为您创建一个具有0.0.0.0
IP地址的防火墙规则
由于0.0.0.0
不是真正的IP地址,Azure API将其视为允许访问Azure服务的特例
这也是你需要做的
请尝试以下代码:
sqlServer = Azure.SqlServers
.Define(serverName)
.WithRegion(region)
.WithExistingResourceGroup(resourceGroup.Name)
.WithAdministratorLogin(AppSettings.SqlServerAdminUser)
.WithAdministratorPassword(AppSettings.SqlServerAdminPassword)
.WithNewFirewallRule("0.0.0.0") // Allow access to Azure Services
.WithNewFirewallRule("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx")
.WithNewElasticPool(poolName, elasticPoolEdition, databaseName)
.Create();
您应该看到,您的Azure服务将能够访问此SQL Server。当您创建新的Azure SQL Server时,如果要启用允许Azure服务访问服务器选项,它实际上会创建一个默认名称为“AllowlWindowsAzureIP”的新防火墙规则使用STARTIPADRESS:0.0.0和ENDIPADDRES:0.0.0 我认为基于上面的默认防火墙规则属性,它应该将startIpAddress和endIpAddress定义为0.0.0
sqlServer = Azure.SqlServers
.Define(serverName)
.WithRegion(region)
.WithExistingResourceGroup(resourceGroup.Name)
.WithAdministratorLogin(AppSettings.SqlServerAdminUser)
.WithAdministratorPassword(AppSettings.SqlServerAdminPassword)
.WithNewFirewallRule("0.0.0.0", "0.0.0.0")
.WithNewElasticPool(poolName, elasticPoolEdition, databaseName)
.Create();