Database项目中关于Procedure sp_refreshsqlmodule_internal的错误

2023-05-11,,

最近项目中发现一怪问题,使用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' --刷新视图

Database项目中关于Procedure sp_refreshsqlmodule_internal的错误的相关教程结束。

《Database项目中关于Procedure sp_refreshsqlmodule_internal的错误.doc》

下载本文的Word格式文档,以方便收藏与打印。