菜鸟遇到问题,错误溢出6
sqlserver吧
全部回复
仅看楼主
level 1
cncfrtc 楼主
各位高手,我只是菜鸟,单位有一套管理软件,后台是SQL SERVER2000,应用表中的数据,每个表不超过20000条。系统一直从2005年用到现在,以前从未出现过错误,这几天出现了如下问题,还请各位高手给我指点一下,不胜感激。
系统登录提示如下错误,“运行时错误6,溢出”。我理解是因为ID字段类型为INT型,数值达到临界点。不知道对不对。
查看系统表 (以下每个系统表中的数据均不超过20000条)
syscolumus ID(INT数据类型)字段的最大值已经为 2146158741
Syscomments ID(INT数据类型)字段的最大值已经为 2146822710
sysdepends ID(INT数据类型)字段的最大值已经为 2137058649
sysindexes ID(INT数据类型)字段的最大值已经为 2144830803
sysindexkeys ID(INT数据类型)字段的最大值已经为2144830803
sysobjects ID(INT数据类型)字段的最大值已经为 2146822710
syspermissions ID(INT数据类型)字段的最大值已经为 2136394680
这些系统表中的ID字段值均已要达到INT数据类型的临界值。在登录系统时,通过事件探查器查看到如下信息(探查器另存为SQL):
select504,c.name,c.definition from master.dbo.syscharsets c,master.dbo.syscharsetsc1,master.dbo.sysconfigures f where f.config=1123 and f.value=c1.id andc1.csid=c.id
go
select504,c.name,c.definition from master.dbo.syscharsets c,master.dbo.syscharsetsc1,master.dbo.sysconfigures f where f.config=1123 and f.value=c1.id andc1.csid=c.id
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id =convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id= convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id= convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
Select ManagerFrom SM_UserId Where UserName='sa'
go
Exec GetLongDate
go
exec SP_DBOPTION'gpms2000','SINGLE USER'
go
DBCC SQLPERF(LOGSPACE)
go
select * fromsysfiles where fileid=2
go
Select UserFlagFrom gpms2000..SM_UserID Where UserName='sa'
go
Update SM_UserIDSet UserFlag='LENOVO-MICROSOF-C39ECF:sa,YWJA9DAG6JET5O5:sa,' whereUserName='sa'
go
select504,c.name,c.definition from master.dbo.syscharsets c,master.dbo.syscharsetsc1,master.dbo.sysconfigures f where f.config=1123 and f.value=c1.id andc1.csid=c.id
go
select504,c.name,c.definition from master.dbo.syscharsets c,master.dbo.syscharsetsc1,master.dbo.sysconfigures f where f.config=1123 and f.value=c1.id andc1.csid=c.id
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id= convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id= convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
Exec GetLongDate
go
select Fun_Namefrom sm_function Where ltrim(rtrim(Fun_ID))='登录主界面'Orltrim(rtrim(Fun_Name))='登录主界面'
go
setimplicit_transactions on
go
Exec GetLongDate
go
select504,c.name,c.description,c.definition from master.dbo.syscharsets c where c.id= convert(tinyint, databasepropertyex ( db_name() , 'sqlcharset'))
go
Exec GetLongDate
go
Insert IntoSM_Log(Opr_Name,Fun_Name,Enter_Time,Quit_Time,ComputerNo)Values('sa','登录主界面','2017-11-06 11:49:56','2017-11-0611:49:56','RSGL[135.28.19.99]')
go
IF @@TRANCOUNT> 0 COMMIT TRAN
go
setimplicit_transactions off
go
declare @P1 int
set @P1=180150000
declare @P2 int
set @P2=8
declare @P3 int
set @P3=1
declare @P4 int
set @P4=1
exec sp_cursoropen@P1 output, N'Select Count(*) SM_Log From SM_Log', @P2 output, @P3 output, @P4output
select @P1, @P2,@P3, @P4
go
execsp_cursorfetch 180150000, 16, 1, 1
go
declare @P1 int
set @P1=1
declare @P2 int
set @P2=1
execsp_cursorfetch 180150000, 256, @P1 output, @P2 output
select @P1, @P2
go
execsp_cursorclose 180150000
go
select id fromsm_log where Enter_Time='2017-11-06 11:49:56' and Fun_Name='登录主界面' and Opr_Name='sa'
go
SET NO_BROWSETABLEON
go
selecta.*,b.description as Sdescription,c.description as Tdescription from alertinfoa left join sr_sourcecollect b on a.setid=b.setid left join sr_unittype c ona.typeid=c.typeid where a.alertflag=0 and a.username='SA'
go
2017年11月06日 04点11分 1
level 1
cncfrtc 楼主
2017年11月06日 04点11分 2
请问您最后解决了吗?可以告诉我方法吗?
2018年02月26日 01点02分
1