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' --刷新视图

 

posted @ 2015-04-09 18:01  乡下伢  阅读(467)  评论(0编辑  收藏  举报