我想以下列方式保护数据库:
将此置于上下文中:它是一个vocabularies
数据库(查找表),它将作为中央主副本,分发到其他数据库(在同一服务器上,将来分发给其他服务器)(甚至非SQL服务器系统。)
添加表和列可以通过客户端数据库可以继续工作的方式进行处理,并在出现时获取更新。另一方面,删除表和列必须以不同的,协调的方式处理。
我创建了一个DDL触发器来锁定表和列的下降,这是很容易的部分
不幸的是,sp_rename
过程似乎处理了重命名表和列,并且此过程使用以下结构:
EXEC %%Object(ID = @objid).SetName(Name = @newname)
DDL触发器无法获取此信息。有没有办法确保不重命名表和列?
答案 0 :(得分:0)
对于每个表,使用schemabinding创建一个视图,如下面的代码所示:
CREATE VIEW PreventDropOnT1
WITH SCHEMABINDING
AS
SELECT Col1, Col2
FROM T1