【问题标题】:azure webjob connect to remote mssql instance. Access Deniedazure webjob 连接到远程 mssql 实例。拒绝访问
【发布时间】:2018-07-13 15:41:14
【问题描述】:

您好,我想使用网络作业调用以下代码:

   using (SqlConnection con = new SqlConnection(ConfigStore.RemoteConnectionString()))
   {
       using (SqlCommand cmd = new SqlCommand(xxxxxx, con))
       {
           cmd.CommandType = CommandType.StoredProcedure;

           con.Open();

           SqlDataReader reader = cmd.ExecuteReader();
           if (!reader.HasRows)
           {

           }

           while (reader.Read())
           {

           }
           reader.Close();
       }
   }

我收到以下错误

018-07-12T07:13:25 PID[4540] 信息 Microsoft.Azure.WebJobs.Host.FunctionInvocationException:执行函数时出现异常:Functions.FiveSecondTask ---> System.Data.SqlClient.SqlException:网络-建立与 SQL Server 的连接时发生相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception:访问被拒绝 2018-07-12T07:13:25 PID[4540] 内部异常信息结束 2018-07-12T07:13:25 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 处的信息(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& 连接) 2018-07-12T07:13:25 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 中的信息(DbConnection owningObject,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:25 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource1 重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接) 2018-07-12T07:13:25 PID[4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal 中的信息(DbConnection externalConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:25 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 重试,DbConnectionOptions userOptions) 2018-07-12T07:13:25 PID[4540] System.Data.SqlClient.SqlConnection.TryOpenInner 的信息(TaskCompletionSource1 retry) 2018-07-12T07:13:25 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 重试) 2018-07-12T07:13:25 PID [4540] System.Data.SqlClient.SqlConnection.Open() 处的信息 2018-07-12T07:13:25 PID [4540] WebJob5.Functions.FiveSecondTask 上的信息(TimerInfo 计时器) 2018-07-12T07:13:25 PID [4540] lambda_method 处的信息(闭包,函数,对象 []) 2018-07-12T07:13:25 PID[4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:25 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker2.InvokeAsync[TReflected,TReturnValue](Object instance,Object[] arguments) 的信息 2018-07-12T07:13:25 PID[4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync 的信息(IFunctionInvoker 调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource functionCancellationTokenSource,Boolean throwOnTimeout,TimeSpan timerInterval,IFunctionInstance 实例) 2018-07-12T07:13:25 PID[4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync 的信息(IFunctionInstance 实例,ParameterHelper parameterHelper,TraceWriter traceWriter,CancellationTokenSource functionCancellationTokenSource) 2018-07-12T07:13:25 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:25 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:25 PID[4540] 内部异常信息结束 2018-07-12T07:13:26 PID [4540] 信息已执行“Functions.FiveSecondTask”(失败,Id=beb15926-66b3-4f7e-900a-ebf855feb07b) 2018-07-12T07:13:26 PID [4540] 信息 Microsoft.Azure.WebJobs.Host.FunctionInvocationException:执行函数时出现异常:FiveSecondTask ---> System.Data.SqlClient.SqlException:网络相关或实例- 建立与 SQL Server 的连接时发生特定错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception:访问被拒绝 2018-07-12T07:13:26 PID[4540] 内部异常信息结束 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 中的信息(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& 连接) 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 中的信息(DbConnection owningObject,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource1 重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接) 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal 的信息(DbConnection externalConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.TryOpenInner 处的信息(TaskCompletionSource1 retry) 2018-07-12T07:13:26 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 重试) 2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.Open() 处的信息 2018-07-12T07:13:26 PID [4540] WebJob5.Functions.FiveSecondTask 上的信息(TimerInfo 计时器) 2018-07-12T07:13:26 PID [4540] lambda_method 处的信息(闭包,函数,对象 []) 2018-07-12T07:13:26 PID[4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:26 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker2.InvokeAsync[TReflected,TReturnValue](Object instance,Object[] arguments) 的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync 的信息(IFunctionInvoker 调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource functionCancellationTokenSource,Boolean throwOnTimeout,TimeSpan timerInterval,IFunctionInstance 实例) 2018-07-12T07:13:26 PID[4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync 的信息(IFunctionInstance 实例,ParameterHelper parameterHelper,TraceWriter traceWriter,CancellationTokenSource functionCancellationTokenSource) 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID[4540] 内部异常信息结束 2018-07-12T07:13:26 PID [4540] System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 中的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryExecuteAsync 的信息(IFunctionInstance functionInstance,CancellationToken cancelToken) 2018-07-12T07:13:26 PID[4540] 信息功能有错误。有关详细信息,请参阅 Azure WebJobs SDK 仪表板。实例 ID 为“beb15926-66b3-4f7e-900a-ebf855feb07b” 2018-07-12T07:13:26 PID [4540] 信息 Microsoft.Azure.WebJobs.Host.FunctionInvocationException:执行函数时出现异常:FiveSecondTask ---> System.Data.SqlClient.SqlException:网络相关或实例- 建立与 SQL Server 的连接时发生特定错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception:访问被拒绝 2018-07-12T07:13:26 PID[4540] 内部异常信息结束 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 中的信息(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& 连接) 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection 中的信息(DbConnection owningObject,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource1 重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接) 2018-07-12T07:13:26 PID[4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal 中的信息(DbConnection externalConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.TryOpenInner 的信息(TaskCompletionSource1 retry) 2018-07-12T07:13:26 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 重试) 2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.Open() 处的信息 2018-07-12T07:13:26 PID [4540] WebJob5.Functions.FiveSecondTask 上的信息(TimerInfo 计时器) 2018-07-12T07:13:26 PID [4540] lambda_method 处的信息(闭包,函数,对象 []) 2018-07-12T07:13:26 PID[4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:26 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker2.InvokeAsync[TReflected,TReturnValue](Object instance,Object[] arguments) 的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync 的信息(IFunctionInvoker 调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource functionCancellationTokenSource,Boolean throwOnTimeout,TimeSpan timerInterval,IFunctionInstance 实例) 2018-07-12T07:13:26 PID[4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync 的信息(IFunctionInstance 实例,ParameterHelper parameterHelper,TraceWriter traceWriter,CancellationTokenSource functionCancellationTokenSource) 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID[4540] 内部异常信息结束 2018-07-12T07:13:26 PID [4540] System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 中的信息 2018-07-12T07:13:26 PID [4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??) 的信息 2018-07-12T07:13:26 PID[4540] 异步 Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryExecuteAsync(IFunctionInstance functionInstance,CancellationToken cancelToken) 的信息

我如何确保 azure 可以连接到这个远程 sql 框?

如何在不影响安全性的情况下实现这一目标?

非常感谢

【问题讨论】:

    标签: c# sql-server azure webjob


    【解决方案1】:

    这看起来像是一个不正确的连接字符串。你能调试一下ConfigStore.RemoteConnectionString() 方法返回的内容以及它是一个有效的连接字符串吗?

    【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多