您可以 运行 或调试 SQL 服务器存储过程而没有副作用吗?

Can you run or debug a SQL Server stored procedure without side effects?

我希望能够看到 运行 其他人编写的存储过程或其他 SQL 代码在生产数据库上的效果,以便对其进行调试。我希望能够在 table 中看到更新后的值,而不会实际影响他们的数据。

有没有一种方法可以让我以这种方式看到这些变化?

您可以执行以下操作:

BEGIN TRANSACTION
/*SQL code here */
ROLLBACK TRANSACTION

这将允许您测试更改而无需将它们提交到数据库。

您可以在文档中阅读更多相关信息 https://docs.microsoft.com/en-us/sql/t-sql/language-elements/begin-transaction-transact-sql?view=sql-server-ver15

请记住在事务内进行任何调查查询,因为在事务外更改将恢复。 您也可以通过克隆现有数据库来创建测试数据库,然后您就可以放心测试了!

在VS中创建一个SQL服务器数据库项目,添加一个脚本文件,把你要调试的SQL代码粘贴到这个块里面

BEGIN TRANSACTION
/*SQL code here */
ROLLBACK TRANSACTION

然后就可以使用VS的所有调试功能了