SP 的 T-SQL 语句中强制使用“三部分名称”

Raj*_*jan 0 sql-server sql-server-2016

在 SQL 语句中使用三部分名称是一种很好的做法,它也有助于对象识别和性能改进。它还可以帮助实现许多其他目的,例如如果您想使用相同的 T-SQL 语句将 SP、查看函数移动到不同的数据库。

因此,我想创建一个策略,强制开发人员在创建 SP、视图和函数时使用“三部分命名”。

SQL Server 2016 中是否有任何内置策略或方法可以帮助我?

回复将不胜感激..:)

Dav*_*oft 8

在引用当前数据库中的对象的查询中使用由三部分组成的名称是一种糟糕的做法,您应该针对它创建一个规则。它最常见的问题是它阻止您在单个服务器上拥有应用程序数据库的两个实例,并且可能导致意外的跨数据库访问。

在动态 SQL 中使用两部分名称具有一些轻微的性能优势,因为对象名称解析不必先检查用户的默认架构,然后再检查该dbo架构。但在视图或存储过程中并不像使用对象架构的对象名称解析那么有用。在 proc/view 的范例中,dbo引用其中的表dbo根本没有帮助。