【问题标题】:How can I test for SQL Server connectivity from DOS?如何从 DOS 测试 SQL Server 连接性?
【发布时间】:2009-10-23 18:11:45
【问题描述】:

我试图弄清楚如何从 DOS 中“测试连接性”到 SQL Server 数据库。如果连接失败,我需要检测失败。

sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS

您会注意到该命令不会返回真/假值。此外,如果实例不存在,它会超时。我想要这样的东西,它没有让用户等待的“超时”问题:

if ( connectivity exists to local )  (
  setup DSN for local
) else (
  setup DSN for local\SQLEXPRESS
)

奇怪的是,osql.exe -L 对我不起作用,即使我有一个监听实例。

【问题讨论】:

  • 顺便说一句,它不是“DOS”,而是“Windows 命令行”。 :-)

标签: sql-server scripting dos


【解决方案1】:

超时:如果您真的想“检查连接”,我认为您无法避免超时。但请参阅下面的替代方案。

布尔响应:如果命令返回有效的错误级别就足够了。例如,下面的代码应该可以工作:

osql -E -S SERVER\INSTANCE -Q ""
if ERRORLEVEL 1 (
  exit script
) else (
  setup DSN
)

无超时替代方案:如果 SQL Server 始终位于本地计算机上,并且您只想检查是否安装了特定实例,请尝试查看注册表(使用reg 命令)。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstalledInstances 就是你要找的。​​p>

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2016-05-18
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多