azure webjob连接到远程mssql实例。拒绝访问

时间:2018-07-12 07:15:10

标签: c# sql-server azure webjob

嗨,我想使用网络作业来调用以下代码:

   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,onlyonlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)   2018-07-12T07:13:25 PID [4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection上的信息(DbConnection owningObject,TaskCompletionSource 1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:25 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource 1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)   2018-07-12T07:13:25 PID [4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection externalConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:25 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions上的信息)   2018-07-12T07:13:25 PID [4540] System.Data.SqlClient.SqlConnection.TryOpenInner上的信息(TaskCompletionSource 1 retry) 2018-07-12T07:13:25 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1重试)   2018-07-12T07:13:25 PID [4540] System.Data.SqlClient.SqlConnection.Open()上的信息   2018-07-12T07:13:25 PID [4540] WebJob5.Functions.FiveSecondTask(TimerInfo timer)上的信息   2018-07-12T07:13:25 PID [4540] lambda_method上的信息(Closure,Functions,Object [])   2018-07-12T07:13:25 PID [4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker 2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:25 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker 2.InvokeAsync [TReflected,TReturnValue](对象实例,Object []参数)上的信息   2018-07-12T07:13:25 PID [4540]异步处的信息Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource函数CancellationTokenSource,布尔throwOnTimeout,TimeSpan timerInterval, )   2018-07-12T07:13:25 PID [4540]异步Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync上的信息(IFunctionInstance实例,ParameterHelper parameterHelper,TraceWriter traceWriter,CancellationTokenSource函数CancellationTokenSource)   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:执行函数时发生异常:Functions.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,only onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)   2018-07-12T07:13:26 PID [4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection上的信息(DbConnection owningObject,TaskCompletionSource 1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource 1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)   2018-07-12T07:13:26 PID [4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outsideConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions上的信息)   2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.TryOpenInner上的信息(TaskCompletionSource 1 retry) 2018-07-12T07:13:26 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1重试)   2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.Open()上的信息   2018-07-12T07:13:26 PID [4540] WebJob5.Functions.FiveSecondTask(TimerInfo timer)上的信息   2018-07-12T07:13:26 PID [4540] lambda_method上的信息(Closure,Functions,Object [])   2018-07-12T07:13:26 PID [4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker 2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:26 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker 2.InvokeAsync [TReflected,TReturnValue](对象实例,Object []参数)上的信息   2018-07-12T07:13:26 PID [4540]异步处的信息Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource函数CancellationTokenSource,布尔throwOnTimeout,TimeSpan TimerInterval, )   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 cancelleToken)上的信息   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:执行函数时发生异常:Functions.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,only onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)   2018-07-12T07:13:26 PID [4540] System.Data.ProviderBase.DbConnectionPool.TryGetConnection上的信息(DbConnection owningObject,TaskCompletionSource 1 retry,DbConnectionOptions userOptions,DbConnectionInternal& connection) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource 1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)   2018-07-12T07:13:26 PID [4540] System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outsideConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions) 2018-07-12T07:13:26 PID[4540] Information at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry,DbConnectionOptions userOptions上的信息)   2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.TryOpenInner上的信息(TaskCompletionSource 1 retry) 2018-07-12T07:13:26 PID[4540] Information at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1重试)   2018-07-12T07:13:26 PID [4540] System.Data.SqlClient.SqlConnection.Open()上的信息   2018-07-12T07:13:26 PID [4540] WebJob5.Functions.FiveSecondTask(TimerInfo timer)上的信息   2018-07-12T07:13:26 PID [4540] lambda_method上的信息(Closure,Functions,Object [])   2018-07-12T07:13:26 PID [4540] Microsoft.Azure.WebJobs.Host.Executors.VoidMethodInvoker 2.InvokeAsync(TReflected instance,Object[] arguments) 2018-07-12T07:13:26 PID[4540] Information at async Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker 2.InvokeAsync [TReflected,TReturnValue](对象实例,Object []参数)上的信息   2018-07-12T07:13:26 PID [4540]异步处的信息Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker调用程序,ParameterHelper parameterHelper,CancellationTokenSource timeoutTokenSource,CancellationTokenSource函数CancellationTokenSource,布尔throwOnTimeout,TimeSpan TimerInterval, )   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 cancelleToken)上的信息

我如何确保azure可以连接到此远程sql盒?

我如何在不损害安全性的情况下实现这一目标?

非常感谢

2 个答案:

答案 0 :(得分:0)

这看起来像是错误的连接字符串。您可以调试ConfigStore.RemoteConnectionString()方法返回的内容以及它是有效的连接字符串吗?

答案 1 :(得分:0)