【发布时间】:2017-01-24 17:59:15
【问题描述】:
因此,我们正在尝试在我们的数据库上实现 DDL 触发器,以便为我们的开发人员跟踪 DDL 更改,并且效果很好。但是,我们的 Visual Studio 2013/2015 开发人员遇到了障碍。当他们在 Visual Studio 中编辑表/proc/任何内容时,它将禁用 ddl 触发器、进行更改并重新启用触发器,这使得触发器毫无意义。
我发现我可以创建一个 SQL 数据库项目,导航到项目 > 属性 > 调试 > 高级,然后取消选中“禁用和重新启用 DDL 触发器”。此设置存储在 Project.SQLProj.User 文件中。并且脚本将停止添加禁用/启用触发器部分。
但是,当开发人员只是去服务器资源管理器/SQL Server 对象资源管理器并以这种方式提取数据库表时,只要他们进行更改并运行“更新”并生成脚本,你就会发现禁用/在脚本中重新启用 ddl trigger 语句。我已经梳理了 Visual Studio 帮助文件、谷歌、我们本地的 VS 专家,似乎没有人知道这些动态/非项目范围脚本的设置在哪里。任何帮助将不胜感激。
【问题讨论】:
-
如果您正在使用数据库项目并将更改提交到版本控制,那么您已经在跟踪更改。 DDL 触发器起什么作用?
-
这就是问题所在。我们没有使用数据库项目。这只是我发现的唯一可以更改脚本设置的地方,但它始终仅限于那个特定的项目/解决方案。我们经常使用链接服务器,而 SSDT 不能很好地适应我们发现的它们。
-
“脚本设置”是什么意思?
标签: sql-server visual-studio triggers ddl audit