如何获取所有 SQL Server 默认值和规则的名称

Posted

技术标签:

【中文标题】如何获取所有 SQL Server 默认值和规则的名称【英文标题】:How to get names of all SQL Server Defaults and Rules 【发布时间】:2017-01-19 03:43:01 【问题描述】:

我正在尝试编写一个查询来获取数据库中所有规则和默认值的名称,这样我就可以通过编程方式将它们从数据库中删除,而无需知道它们的名称。

不过,它们似乎并未包含在 sys.objects 中 - 那么我在哪里可以找到它们呢?

【问题讨论】:

***.com/questions/14229277/… @squillman 那里的两个答案都没有为我返回任何行。我认为它们只显示规则/默认值的使用位置,而不是实际定义本身 【参考方案1】:

试试这个

SELECT *
FROM   sys.objects
WHERE  type = 'r' -- to filter rules
        OR ( parent_object_id = 0 -- to restrict default constraints 
             AND type = 'd' ) -- to filter defaults 

【讨论】:

以上是关于如何获取所有 SQL Server 默认值和规则的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 的触发器中获取多个字段的旧值和新值?

SQL-SQL Server-添加具有默认值和检查约束的列

SQL Server转换数据库的排序规则

怎么查sqlserver 2008中某个数据库的编码方式

SQL server中如何更改排序规则

更改SQL Server 2012 数据库排序规则