0
64位Windows Server 2008,SQL Server 2005. 4处理器。数据库处于简单恢复模式 - 运行以下批处理脚本时,事务开始在“ALTER TABLE PS_RC_CASE_AUDIT ADD Z_TMP_ALTER_1 NVARCHAR(80) NULL
”处回滚 - 以下是观察到的等待类型。由于日志文件已满并且磁盘空间不足,我们不得不多次回滚此事务。我们今天增加了更多空间,并且交易仍然回滚。有任何想法吗?TSQL - 事务回滚 - PAGEIOLATCH_EX等待类型 - SQL SErver 2005
PAGEIOLATCH_EX 5006.53
SLEEP_BPOOL_FLUSH 931.00
LCK_M_SCH_S 466.77
IO_COMPLETION 226.16
下面是脚本:
USE [DBNAME]
go
SET IMPLICIT_TRANSACTIONS ON
go
--
-- Alters for record PS_RC_CASE_AUDIT
-- RC_DESCRLONG - move to table end (LONGCHAR)
-- RSLN_SUMMARY - change
-- CASE_VISIBILITY - add
-- BO_NAME - add
-- REASON_CD - add
-- Start the Transaction
-- Data Conversion
-- Add Columns
ALTER TABLE PS_RC_CASE_AUDIT ADD CASE_VISIBILITY NVARCHAR(4) NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ADD BO_NAME NVARCHAR(50) NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ADD REASON_CD NVARCHAR(10) NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ADD Z_TMP_ALTER_1 NVARCHAR(80) NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ADD X_TMP_ALTER_1 NVARCHAR(MAX) NULL
go
UPDATE PS_RC_CASE_AUDIT SET
X_TMP_ALTER_1 = RC_DESCRLONG,
Z_TMP_ALTER_1 = RSLN_SUMMARY
go
-- Set Default Values
UPDATE PS_RC_CASE_AUDIT SET CASE_VISIBILITY = ' ', BO_NAME = ' ',
REASON_CD = ' '
go
-- Modify NULLability
ALTER TABLE PS_RC_CASE_AUDIT ALTER COLUMN Z_TMP_ALTER_1 NVARCHAR(80)
NOT NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ALTER COLUMN CASE_VISIBILITY NVARCHAR(4)
NOT NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ALTER COLUMN BO_NAME NVARCHAR(50) NOT NULL
go
ALTER TABLE PS_RC_CASE_AUDIT ALTER COLUMN REASON_CD NVARCHAR(10) NOT
NULL
go
-- Drop Old Columns
ALTER TABLE PS_RC_CASE_AUDIT DROP COLUMN RC_DESCRLONG
go
ALTER TABLE PS_RC_CASE_AUDIT DROP COLUMN RSLN_SUMMARY
go
-- Rename Changed Columns
sp_rename 'PS_RC_CASE_AUDIT.X_TMP_ALTER_1', RC_DESCRLONG, 'COLUMN'
go
sp_rename 'PS_RC_CASE_AUDIT.Z_TMP_ALTER_1', RSLN_SUMMARY, 'COLUMN'
go
COMMIT
go
-- Done
go
COMMIT
go
请使用代码标签,这样我们可以读取这... – JNK 2010-07-30 17:18:13
我只是做了。谢谢! – Ranjeeth 2010-07-30 17:34:16
谢谢!现在你可以给我们架构吗?你确定这个专栏不存在吗? – JNK 2010-07-30 17:35:16