关于SQL Server数据库中的对象命名的唯一性问题。例如表、索引、约束等数据库对象,有时候DBA在做数据库维护时,经常要创建对象或重命名对象,此时就会遇到一个问题,对象命名的唯一性问题。虽然是一个小小的问题,估计不少人搞不清,在看文章前,你可以先回答几个问题
1: 表名在数据库是不是唯一? 不同的Schema下,是否可以存在同名的表?
2: 索引名在数据库是不是唯一? 不同的Schema下,是否可以存在同名的表?
3: 其它数据库对象呢? 例如约束、触发器。
那么我们接下来看看实验例子吧,如下所示,AdventureWorks2014数据库中存在命名为“Production.Product”的表
USE AdventureWorks2014;
GO
SELECT * FROM sys.objects WHERE OBJECT_ID =OBJECT_ID('Production.Product')