【求助,没有分只能发在这】循环刷新数据库中所有视图,在2005中没有问题,在2008中报错
消息 266,级别 16,状态 2,过程 URM_P_REFRESHVIEW_ALL,第 0 行
EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配。上一计数 = 0,当前计数 = 1。
消息 3998,级别 16,状态 1,第 1 行
在批处理结束时检测到不可提交的事务。该事务将回滚。
DECLARE @I INT,@CNT INT,@VIEWNAME SYSNAME,@J INT
DECLARE @VIEWDICT TABLE(RID INT IDENTITY(1,1),VIEWNAME SYSNAME)
DECLARE @ERRORINFO TABLE(RID INT IDENTITY(1,1),VIEWNAME SYSNAME,INFO VARCHAR(2000))
INSERT INTO @VIEWDICT
SELECT [name] FROM sys.objects where [type]='V' ORDER BY [name]
SET @I=1
SELECT @I=1,@CNT=COUNT(*) FROM @VIEWDICT
WHILE @I<=@CNT
BEGIN
SELECT @VIEWNAME=VIEWNAME FROM @VIEWDICT WHERE RID=@I
BEGIN TRY
EXEC ('SP_REFRESHVIEW ['+@VIEWNAME+']')
END TRY
BEGIN CATCH
INSERT INTO @ERRORINFO(VIEWNAME,INFO)
SELECT @VIEWNAME,ERROR_MESSAGE()
END CATCH
SET @I=@I+1
END
相关推荐
如何将SQL Server 2005升级到SQL Server 2008
在将SQL Server 2005升级至SQL Server 2008的过程中,涉及的知识及技巧涵盖了从理解新版本特性到优化、安全、开发、维护高可用性数据库、数据仓库构建和报告服务使用的广泛范围。
TFS 2010服务层重构:SQL Server兼容性与权限模型升级解析
Team Foundation Server(TFS)作为微软早期企业级ALM平台,其服务层架构演进深刻影响着团队协作基础设施的稳定性与可扩展性。从技术本质看,TFS服务层是封装版本控制、工作项跟踪、构建管理等能力的核心中间件,依赖于数据库访问抽象、权限治理模型和跨系统集成机制。TFS 2010的关键突破在于将数据访问解耦为运行时动态加载的SQL Server提供者,并引入三级权限体系与资源级授权模型,显著提升SQL Server 2008/R2兼容性与细粒度管控能力。这些改进不仅解决了TFS 2008时代
数据仓库Foodmart2005 实例数据库
在SQL Server中,我们可以使用RESTORE DATABASE命令恢复这个备份,从而获得Foodmart2005数据库。这包括所有表、索引、视图、存储过程和其他数据库对象。
Sqlserver2005-2008数据库置疑处理办法
### Sqlserver2005-2008数据库置疑处理办法在处理SQL Server 2005至2008版本中的置疑数据库时,我们首先要理解什么是置疑状态以及如何解决这类问题。
在VS2008下,利用c#在SQLSERVER2005实现两个数据库同步
以上步骤概括了在VS2008和C#中实现SQL Server 2005数据库同步的基本流程。具体实现细节可能需要根据实际情况进行调整,如处理不同数据类型、触发器、索引等。


非技术版
