首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查本地/Azure服务器和SQL数据库实例之间的连接?

检查本地/Azure服务器和SQL数据库实例之间的连接?
EN

Stack Overflow用户
提问于 2019-07-02 02:19:49
回答 1查看 96关注 0票数 0

我们的BI团队混合了本地和Azure服务器,这些服务器运行脚本以对其他本地和Azure SQL数据库执行SQL进程。有时,我们的进程会因为与服务器之间的连接问题而出错。我想写一个脚本,在执行我们的ETL流程之前检查从-到服务器的连接。对于这种类型的连通性检查,哪些脚本方法是理想的?

我们可以ping以确保计算机在线,但我们当前没有检查两个服务器之间的连接的过程。这个问题似乎与本地服务器和云服务器之间的连接有关。这可能是由于防火墙和网络问题造成的,但该问题不定期发生,可能是由多种因素造成的。我们当前的连接方法是SQL Server身份验证。有没有其他最好的连接方式?

我想找出一种很好的方法来编写脚本/监视/检查混合的本地/azure云服务器和数据库之间的连接。一些示例脚本也会很棒!

EN

回答 1

Stack Overflow用户

发布于 2019-07-03 19:38:27

要ping服务器,我使用Test-Connection cmdlet。在Test-Connection命令的定义中,我确定了缓冲区大小、要提交的ping数,以及它返回的是详细的ping状态信息还是简单的布尔值。我将ea参数(ea是ErrorAction参数的别名)的值指定为0。值为0告诉cmdlet不显示错误信息( ping失败时会显示错误)。

下面是Pingtest的样子:

代码语言:javascript
运行
复制
$servers = “dc1″,”dc3″,”sql1″,”wds1″,”ex1”

Foreach($s in $servers)

{

  if(!(Test-Connection -Cn $s -BufferSize 16 -Count 1 -ea 0 -quiet))

  {

   “Problem connecting to $s”

   “Flushing DNS”

   ipconfig /flushdns | out-null

   “Registering DNS”

   ipconfig /registerdns | out-null

  “doing a NSLookup for $s”

   nslookup $s

   “Re-pinging $s”

     if(!(Test-Connection -Cn $s -BufferSize 16 -Count 1 -ea 0 -quiet))

      {“Problem still exists in connecting to $s”}

       ELSE {“Resolved problem connecting to $s”} #end if

   } # end if

} # end foreach

通过这种方式,您可以确保连接是活动的,并且可以继续执行。希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56840583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档