2.再停掉sql server(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status =28 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go
执行以上语句后出现下面的错误提示:
已将配置选项 'allow updates' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。
(所影响的行数为 1 行)
服务器: 消息 5105,级别 16,状态 4,行 1
设备激活错误。物理文件名 'e:\Program Files\Microsoft SQL Server\MSSQL\data\bserp_Data.MDF' 可能有误。
sp_dboption 命令失败。
服务器: 消息 8966,级别 16,状态 1,行 1
未能读取并闩锁页 (97:6553715)(用闩锁类型 SH)。sysobjects 失败。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
(所影响的行数为 1 行)
已将配置选项 'allow updates' 从 1 改为 0。请运行 RECONFIGURE 语句以安装。
方法二:
首先确定要附加的数据库是否确为只读,如果是,除去只读属性。将要附加的数据库文件的安全设置中设置User用户完全控制权限,设置成功后可以附加.
原因:这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录没有正确的 权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件
也可能建立在别的目录,例如 /Winnt.
使用NT的文件监视程序监视文件失败时到底是访问了什么目录。
这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com.
如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,
还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,
这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。
这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。
还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。
2.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'file
already in use.
原因:
多人使用时数据库被锁定。
3.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default
driver specified.
原因:
最可能的原因是ConnectString是一个在global.asa中初始化的Session变量,但是global.asa
却没有正常工作。解决办法是,检查赋值时是否正确:(在你的asp中加入下面的代码)
还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSNDatabase = Pubs
试试改成下面这个样子:
DSN=MyDSNDatabase=Pubs
如果是global.asa还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)