Database项目中关于Procedure sp_refreshsqlmodule_internal的错误
最近项目中发现一怪问题,使用DB项目发布数据库时,总提示
“(110,1): SQL72014: .Net SqlClient Data Provider: Msg 1222, Level 16, State 56, Procedure sp_refreshsqlmodule_internal, Line 67 Lock request time out period exceeded.
An error occurred while the batch was being executed.”
百般尝试终不得其解,后google看到一篇文章,按里面的说明尝试了一下,结果问题解决了。
文章地址:https://ask.sqlservercentral.com/questions/37428/using-syssp-refreshsqlmodule-with-objects-that-hav.html#
原因:有人重命名视图造成的
通过下面的方法,把数据库所有视图命名重新规范一下,问题得到解决。
DROP VIEW testObjectView --删除现有视图名称
GO
CREATE VIEW testView AS SELECT * FROM [sys].[objects] --创建视图
GO
exec [sp_rename] ‘testView‘, ‘testObjectView‘ --重命名视图
GO
exec [sp_refreshview] N‘dbo.testObjectView‘ --刷新视图
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。