2013-10-23 31 views
2

是否有可能配置SQL服务器(或者的LocalDB)失败存储的创建过程如果在创建存储过程时这些对象不存在? (字段或表)原因创建存储过程的失败,如果引用考虑下面的存储过程定义</p> <pre><code>create procedure myproc as select * from sometablethatdoesnotexist select somecolumnthatdoesnotexist from sometablethatdoesexist </code></pre> <p>不存在的表/列

+0

不是我知道的,但为什么你需要数据库来防止这种情况?您是否让用户在您的服务器上松动以创建程序! Eeek! ;) – Tony

+0

我有10年的时间,如果我从我们的500个表中删除一列,我想知道哪些存储过程受到它的影响。确定哪些对象可靠地依靠列是令人惊讶的困难。 – Matthew

+0

你看过['sys.dm_sql_referenced_entities'](http://technet.microsoft.com/en-us/library/bb677185.aspx)吗? –

回答

6

这是SQL Server的延迟名称解析。

There is no way of turning it off。如果您引用现有表上不存在的列,它将会失败。

+0

看起来好像连接项目链接已损坏,但我认为这是暂时的。 –

+1

是的,很遗憾他们没有sProcs的'SCHEMABINDING'选项。并不是说过度热情的模式绑定是处理任何有趣的事情...... – RBarryYoung

+0

感谢@MartinSmith,您的声明的第二部分对我来说足够好(因为我只是删除了列)。如果时间允许,我会接受。 – Matthew

相关问题