我想在将数据库更改推出到 QA、UAT 和生产环境时创建一种智能方式来执行 SQL 脚本,以便在维护完成后冒烟测试数据库更改是否正确。
做到这一点的最佳方法是什么?
现在我正在运行多个这样的 SQL 选择来对现有的 DB 值与预期值进行可视化比较。这是我的代码:
select value as DBvalue, 'text' as PRODvalue -- could be 'text' or 'html'
from ConfigParams
where paramname = 'EmailBodyType'
and environment = 'prod'
Run Code Online (Sandbox Code Playgroud)
然后结果将是一个包含两个字段的结果集,在预期值旁边显示 DB 值。
我有 10 个左右的 SQL 选择列表来验证参数值在数据库工作完成后是否更新和正确。有没有更好的办法?
我在使用 SQL Server Management Studio 管理和查询的一个远程 SQL Server 2005 上有一个神秘现象。我通过 VPN 隧道(由 ISP 提供,大约 8 MBit/s 上下)连接到服务器。
当我打开一个新的查询窗口(第一次连接)时,结果会很快传输到客户端。假设 <1 秒。当我重复查询几次时,结果传输变得越来越慢,最多 5 秒甚至更多。它与查询执行时间无关,只是传输到客户端 (SSMS) 的时间。
现在,更奇怪的是:我对同一个服务器/数据库打开了第二个查询窗口,即使我同时运行它们,查询结果的传输也总是很快。即使在两个小时之后,结果总是会在另一个窗口中快速传输,而在第一个查询选项卡中则需要更长的时间。
我使用这个测试查询是为了避免一些潜在的缓存问题:
select top 2000 newid() from <SOMETABLE>
Run Code Online (Sandbox Code Playgroud)
我尝试更改服务器注册的连接数据包大小,但并没有太大变化。
什么可能导致问题?
更新:正如我在 Serverfault.com 上交叉发布的评论中所建议的那样。