我使用的是Microsoft SQL 2005服务器。我已经在TSQL中创建了几个SP和函数。经过一年多的发展,SP/功能的数量急剧增加。只有少数SP/函数用作计划作业或触发器,而大多数是在内部使用的(我的意思是,它们由作业和触发器中的SP/函数调用)。
随着SP/函数数量的不断增加,在我们的SQL server中管理它们变得非常困难。其他开发人员/DBA很难知道它们的依赖项和用法。我希望将所有依赖的SP/函数都保留为私有函数,就像PL/SQL包中的函数一样。我可以在CLR中重写它们,但在我们的SQL服务器中不允许自定义CLR。
有没有办法限制SP/Function的使用范围,例如,将它们限制为“包”中的私有?不确定SQL 2008是否有解决此问题的功能?
发布于 2009-08-10 15:54:19
在SQL Server2005(更高版本)中,您可以使用Schemas来实现此目的,但它确实具有安全链接的含义。
不幸的是,SQL Server还没有一个等同于'package‘的东西,尽管我相信这是经常被请求的东西。
发布于 2009-08-10 16:35:40
这不是很讽刺吗?本应帮助您降低复杂性的工具却产生了更多的复杂性。我上一次使用SP是在两年前,当时我创建了我正在制作的博客网站的第一个版本。它们给我带来了很多麻烦,因为我不能很好地适应这个方案(我的C#代码)。
所以我最终摆脱了它们,把我所有的SP代码都带回了C#。这使得事情更容易组织起来。
现在我可以使用视图,但我不再使用SPs。
https://stackoverflow.com/questions/1255702
复制相似问题