0

如何从一个批处理文件中启动多个都指向同一个数据库的 sqlcmd 窗口?例如,当我运行 .bat 文件时,我希望它根据我传递给它的参数(例如 5)生成 N 个窗口。这 5 个窗口中的每一个都应该在我的桌面上打开,并且都连接到同一个数据库。这就是我想做的第一件事。一旦我有了这个工作,我希望这 5 个窗口中的每一个都运行一个不同的 .sql 脚本,该脚本执行插入、查询、更新、删除、调用存储过程......基本上模拟生产环境以帮助我们进行调试工作(在用户负载下)。我想在执行时在 sqlcmd 窗口中看到每个 .sql 指令的输出。

我发现:

http://hammerora.sourceforge.net/

这是一个专注于 TPC-C 负载测试的 GUI 工具,但它并不是我想要的。我提出它是因为它是一个类似的概念,我只想由较小规模的批处理文件驱动(例如,最多 20 个并发用户)。

我在 90 年代后期为 Oracle 可伸缩性测试创建了一个这样的系统,但从那时起我就退出了数据库业务,不记得如何去做以及支持 SQL Server 需要有多大的不同。所以我知道这在 Oracle 中是可能的,但只是不确定 SQL Server 是否具有命令行工具和脚本功能。

有没有人知道如何才能完成这项工作?

前任。创建一个launch3users.bat如下所示的文件:

sqlcmd -d MichaelTest -run this 1.sql file
Pause

sqlcmd -d MichaelTest -run this 2.sql file
Pause

sqlcmd -d MichaelTest -run this 3.sql file
Pause

其中每一个都会产生一个 sqlcmd 窗口并运行适当的 .sql 脚本,该脚本可以执行 DML 操作或称为存储过程。

谢谢,迈克尔

4

1 回答 1

2

您只需将“开始”添加到命令的开头。

start sqlcmd -d MichaelTest -i 1.sql

start sqlcmd -d MichaelTest -i 2.sql

start sqlcmd -d MichaelTest -i 3.sql
于 2012-08-10T21:49:39.437 回答