azure - 使用专用终结点时 Azure 弹性作业不起作用
问题描述
我正在尝试设置弹性作业以在另一个数据库上运行过程。
我设置代码运行如下:EXEC jobs.sp_add_target_group 'DatabaseGroup' GO
EXEC jobs.sp_add_target_group_member
'DatabaseGroup',
@target_type = N'SqlDatabase',
@server_name='test-db01.database.windows.net',
@database_name =N'TEST'
GO
EXEC jobs.sp_add_job @job_name='Hourly Update', @description='Runs Hourly Update',
@schedule_interval_type='Hours',@schedule_interval_count=1
EXEC jobs.sp_add_jobstep @job_name='Hourly Update',
@command=N'exec [TT].[HOURLY_UPDATE]',
@credential_name='JobRun',
@target_group_name='DatabaseGroup'
EXEC jobs.sp_start_job 'Hourly Update'
所以当我提交我的工作来运行时
我收到以下错误:无法连接到目标数据库:原因:与 SQL Server 建立连接时发生特定于实例的错误。由于拒绝公共网络访问设置为是,连接被拒绝
要连接到此服务器,请使用虚拟网络内部的专用终结点
(消息 47073,级别 14,状态 1,行 65536)
所以我的私有端点名称称为 db01.test.****.com <- 使用的机密名称
所以我重新创建 group_member 并再次重新提交作业
EXEC jobs.sp_add_target_group_member
'DatabaseGroup',
@target_type = N'SqlDatabase',
@server_name='db01.test.****.com',
@database_name =N'TEST'
GO
下面的新错误是:服务器“db01.test.****.com”不能用作作业目标,因为它不是与此作业代理位于同一 Azure 云中的 Azure SQL 数据库服务器。服务器的标准主机名必须以“.database.windows.net”结尾。
所以我有什么想法可以解决这种情况并让我的工作提交
解决方案
您的专用终结点仍应使用“database.windows.net”域后缀在 Azure DNS 中注册。如果您在自己的托管 DNS 服务器上创建了自己的内部 A 记录,这将是预期的行为。
一个快速的解决方法是使用私有端点 IP 和 FQDN 在源系统上修改您的 HOSTS 文件,它应该可以工作。管理 HOSTS 文件不是您想要在任何时间段内做的事情。
如果你在 Azure 中运行这一切,你应该能够利用 Azure DNS。- - 创建一个名为“privatelink.database.windows.net”的区域
- 在此区域中使用您的 Db01 和私有 IP 地址创建一条 A 记录
在您的 VNET 上 - 检查您使用的是 Azure DNS 还是自定义 DNS。如果自定义 DNS - 您将需要设置 DNS 服务器以进行 DNS 转发并将“privatelink.windows.net”的请求发送到 Azure DNS。只有在 Azure 中注册的 IP 才有权查询 Azure DNS。如果你使用的是 Azure DNS,它将开始工作。
如果它不能立即为您解决,那么您必须检查私有 DNS 区域是否具有连接您的 VNET 的虚拟网络链接。
Azure 私有 DNS https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns
私有 DNS 文档: https ://docs.microsoft.com/en-us/azure/dns/private-dns-privatednszone
推荐阅读
- arangodb - AQL:如何取回所有边必须具有属性(数组)并且该数组必须具有至少一个特定值的路径
- firebase - Firebase 存储上传签名 URL CORS 问题
- java - Springboot JPA - 从数据库中检索实体时调用属性上的函数
- javascript - 制作在线纸牌游戏的最佳工具是什么?
- python - PyAudio 抛出“无法打开从属”错误
- dictionary - 乘以 netlogo 中的列表列表
- powershell - Powershell:无法远程创建新的 Hyper-v VM
- javascript - 如何在select2 django formset中更改每个表单的id
- python - 在Python中对n叉树的所有节点求和
- spring-boot - Spring Boot jar - BOOT-INF 文件夹中的 META-INF