如果我安装 SQL Server 客户端工具,我可以获得 OSQL 吗?

7 sql-server sqlcmd

我们有一些遗留的 .bat 脚本,其中包含我们网络上现有 SQL Server 实例/数据库的 osql 命令。

我们已经尝试从我们的应用服务器 (Win Server 2008) 运行 .bat 脚本,但收到错误:“osql.exe' 未被识别为内部或外部命令”

我们希望我们不需要安装完整的 SQL Server 来访问 osql。

我听说你可以从客户端工具安装中获得它,只要连接到许可的 sql 服务器就不需要许可证。(我们会是)。

有人可以确认吗?“客户端工具”是安装光盘的一部分吗?
这是一个可行的解决方案吗?

谢谢大家的帮助!

Sol*_*zky 9

主要建议似乎是:

  • 如果您有安装光盘/文件,那么您应该能够只安装客户端工具。

  • 下载SQL Server 2012 (SP1) Express(我会先尝试“SQL Server Management Studio Express(仅限工具)”版本)

  • 查看:http : //www.mssqltips.com/sqlservertip/1807/sql-server-2008-client-tools-installation/

  • 如果您已经有一台安装了 OSQL 的机器,您可以将以下两个文件复制到新服务器(将它们放在同一目录中)并使其工作:

    • C:\Program Files\Microsoft SQL Server\110\Tools\Binn\OSQL.EXE
    • C:\Program Files\Microsoft SQL Server\110\Tools\Binn\Resources\1033\osql.rll

就许可而言,我找到了以下文件:

C:\Program Files\Microsoft SQL Server\110\Tools\Binn\Resources\1033\license_SQLCMD.txt

有以下片段:

MICROSOFT 软件许可条款 MICROSOFT SQL SERVER 2012 命令行实用程序
...
1. 安装和使用权利。您可以在您的设备上安装和使用任意数量的软件副本来设计、开发和测试您的程序。

注意:
OSQL 已被 SQLCMD 取代。当您运行 OSQL 时,它将显示以下消息:

注意:osql 不支持 SQL Server 2012 的所有功能。请改用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。

但是,如果您现有的代码需要 OSQL,那么您需要先用您的代码测试 SQLCMD,以确保 OSQL 和 SQLCMD 之间的任何行为更改都不会破坏您的代码。


Mik*_*Fal 5

您应该使用的工具是sqlcmd。它与客户端工具一起安装并替换已弃用的 osql