我正在尝试设置弹性作业以在另一个数据库上运行一个过程。
我将代码设置为如下运行: EXEC作业.sp_add_target_group'数据库组' 开始
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”结尾。
因此,我有什么想法可以解决这种情况并让我的工作提交
答案 0 :(得分:0)
您的私有终结点仍应使用“ database.windows.net”域后缀在Azure DNS中注册。如果您在自己的托管DNS服务器上创建了自己的内部A记录,这将是预期的行为。
一个快速的解决方法是使用专用端点IP和FQDN在源系统上修改HOSTS文件,它应该可以工作。在任何时候都不需要管理HOSTS文件。
如果要在Azure中运行所有这些,则应该能够利用Azure DNS。 --创建一个名为“ privatelink.database.windows.net”的区域
在您的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