0

我非常喜欢Visual Studio 2010中的新SQL Server数据库项目。我还喜欢使用“生成DROP语句来处理目标数据库中的对象,但是不在部署属性中的数据库项目“选项中。Visual Studio 2010 SQL Server数据库项目 - 忽略存储过程和函数

但是,我不想使用此接口管理存储过程和函数;我有另一个工具。每次构建和部署时,VS都会放弃我用外部程序创建的存储过程。我想基本上“忽略”存储过程和函数。

有没有办法在构建SQL Server数据库项目时忽略存储过程和函数?

如果我想使用我的外部工具存储过程和函数,我将无法使用“生成DROP语句...”选项。

+1

我可以问一下'其他工具'是什么吗? – 2010-05-31 20:19:51

回答

2

VSDB将过程和函数的定义存储在纯SQL文件中。我的建议是让'其他工具'将SQL文件的过程和功能直接放入VSDB项目中,然后构建您的VS DB项目并进行部署。这样,您可以根据模式免费检查过程和函数,因为VS DB构建将验证它们。
更好的是,让'其他工具'在VS DB解决方案构建过程中创建SQL定义作为自定义构建步骤的一部分。

据我所知,不是'其他工具'可能不会合作,并希望将其输出直接部署到数据库(即连接和创建过程),但如果您可以修改它以生成SQL文件,那么值得追求与VS DB的整合并进行统一部署。

让VS DB'忽略'你的过程和函数可能会起作用,但是你可能会遇到各种问题,因为当VS DB为表等部署新模式时,它可能会丢弃并重新创建它们,从而破坏依赖关系从你的'其他工具'程序和功能,打破需要的访问权限,谁知道还有什么。更何况,如果你只有一个SCHEMABINDING函数,它将完全阻止VS DB的部署。并且由于标量函数通常是require SCHEMABINDING to prevent spools ...

+0

这听起来像是要走的路,谢谢。 – 2010-05-26 15:35:21

相关问题