A. 执行 Transact-sql 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
估计是异常关闭了,建议恢复一下
恢复步骤:
1 停止sqlserver服务,备份msdb数据库
2 将数据库设置为单用户模式
启动sqlserver服务,将数据库设置为单用户模式
ALTER DATABASE ErrorDB SET SINGLE_USER
3 从其他机器拷贝msdb数据库过来,直接替换msdb数据库文件和日志文件
4 对数据库进行检查修复
dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS
dbcc checkdb(EIMSDb,REPAIR_REBUILD)
5 取消单用户模式
exec sp_dboption EIMSDb, N'single', N'false'
B. 附加数据库出现错误:9003 LSN无效
备份数据文件,然后按下面的步骤处理:
1.新建一个同名的数据库(数据文件与原来的要一致)
2.再停掉sql server(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
C. 求助SQL 添加附加数据库 9003 错误 如何解
--方法如下:
--1.我们使用默认方式建立一个供恢复使用的数据库(如pos)。可以在SQL Server
Enterprise Manager里面建立。
--2.停掉数据库服务器。
--3.将刚才生成的数据库的日志文件pos_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件pos_data.mdf。
--4.启动数据库服务器。此时会看到数据库pos的状态为“置疑”。这时候不能对此数据库进行任何操作。
--5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise
Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
exec sp_configure 'allow updates',1
go
reconfigure with override
go
转载,仅供参考。
D. 您好,看了您提过的解决SQL 9003错误问题的方法,并查阅了网上的相关资料,还是没能解决我的数据库问题。
9003,日志有问题,重新生成日志,记得先做备份。
E. 用友T1-商贸宝,mssqlserver服务管理器无法启动,会出现如下图的错误:9003.数据库问题。
凭经验。应该是磁盘读写出了问题。
你先排除磁盘满了,或者是磁盘坏了的原因。服务器磁盘用1年就要换。
也有可能是操作系统升级,或者是防火墙自动升级导致权限变更,或者是配置变更造成的。
从表面上原因是是LSN向LOG里写时出错。LSN是通过LOG恢复数据库用的。是一个数据序号。
F. 如何处理sql server 2008 R2 Error 9003
转: sql server 2008 R2 Error 9003:The log scan number passed to log scan in database is not valid......... 在很多情况下,服务器突然断电很有可能的,attach database 时提示9003错误, 错误原因:ldf文件或者mdf文件出错,极有可能是ldf在备份操作时和mdf不同步 ======解决方法======== 我在我的机器上处理过程,原来的数据库为rcgl,首先要根据mdf生成一个新的日志文件ldf;建一个同名的数据库,停止SQL Server,然后删除原来那个有问题的ldf,将刚新建的数据库ldf文件覆盖掉原来的ldf文件,启动SQL Server服务,执行语句: /*设置数据库允许直接操作系统表*/ use master go exec sp_configure 'allow updates',1 go reconfigure with override go /*将数据库设置为紧急修复模式*/ alter database rcgl set emergency go alter database rcgl set single_user with rollback immediate go alter database nocloneweb Rebuild Log on (name=rcgl_1,filename= 'J:MSSQL cgl.ldf') alter database rcgl set multi_user. 经过这几个步骤,数据库恢复。
G. SQL2005服务无法开启,参考代码3417,错误9003
你的问题我帮不了你,!
请问你能帮我解决这个问题吗?
有外键的表里添加记录,总是提示错误,“消息 547,级别 16,状态 0,第 1 行
INSERT 语句与 FOREIGN KEY 约束"FK_num2"冲突。该冲突发生于数据库"studant1",表"dbo.专业表", column '专业代码'。”一般这是那里的问题,语法是对的!
H. 如何处理sql server 2008 R2 Error 9003
方法1: 第一步: backup log database_name with no_log 或者 backup log database_name with truncate_only --no_log和truncate_only是在这里是同义的,随便执行哪一句都可以 第二步: 1.收缩特定数据库的所有数据和日志文件,执行 dbcc shrinkdatabase (database_name,[,target_percent])--database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比 2.收缩一次一个特定数据库中的数据或日志文件,执行 dbcc shrinkfile(file_id,[,target_size]) --file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小 两个dbcc都可以带上参数notruncate或truncateonly,具体意思看帮助。 方法2 (这个方法在sqlserver2000的环境下做一般能成功,在sqlserver7及以下版本就不一定了): 第一步: 先备份整个数据库以备不测 第二步: 备份结束后,在Query Analyzer中执行如下的语句: exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息 第三步: 到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录 第四步: 在Query Analyzer中执行如下的语句: exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf' --以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。 以上方法在清除log日志中均有效。 但,能否让sql server 不产生log日志呢?以上方法好像均无效。 我这儿正好有个case: 我客户的sql server每天都会产生4,500M的log日志,每天都清除一下,非常不便。有没有办法实现不产生log日志呢? 我分析了一下客户产生log日志的原因,并且做了相应测试。 客户是每天将数据库清空,从总系统中将数据导入到sql server里。我感决sqlserver在插入时产生log不大,在delete整个库时产生log极大。 比如: SELECT * into test_2 from b_bgxx 共45000条记录,产生十几M log,如果 delete from test_2 产生80多M log ,这明显存在问题。 虽然可以换成: truncate table test_2 但我还是希望能找到不产生log的方法。就如oracle不产生归档一样。
I. sqlserver服务启动不了。事件查看Error: 9003, Severity: 20, State: 1.
你好 很高兴为你解答, 这个问题我也出现过后来解决了, 你用我的方法试试看
这个需要重新编译master DB
下面是步骤:
1, 关掉 sql server 包括他的服务
2, 在安装目录下
Program Files\Microsoft SQL Server\ MSSQL\ Binn(这个需要根据你的安装路径)
在这个路径下运行这个Rebuildm.exe文件
会出现一个对话框, 然后点击浏览, 选择data文件夹 点确定
3, 点击设定 设定你之前设定过的collation的值, 他们一般是用于区分大小写和字库的
4, 最后回到重编译对话框 点击重新编译
我的版本是英文的所以翻译的可能和显示的不完全一样, 不过不会差很多, 你自己仔细看看因该没问题, 希望回答能对你有帮助
J. sql server 2000 做数据库附加的时候提示消息:9003
不知道 哈哈