mssql server 数据库附加不上解决办法分享
在QA里执行sp_attach_db或者sp_attach_single_file_db,出现提示:错误1813:未能打开新数据库'dbname',create database 将终止。设备激活错误。物理文件名'd:\sql server\mssql\data\dbname _log.ldf'可能有误!
按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sqlserver服务(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sqlserver服务
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了
复制代码 代码如下:
use master go sp_configure 'allow updates',1 reconfigure with override go update sysdatabases set status =32768 where go sp_dboption '置疑的数据库名', 'single user', 'true' go dbcc checkdb('置疑的数据库名') go update sysdatabases set status =28 where go sp_configure 'allow updates', 0 reconfigure with override go sp_dboption '置疑的数据库名', 'single user', 'false' go
Sql Server 2000附加数据库出现1813错误的解决方法
今天进行了一错误操作。
数据库xxzx_discuz,因生成大量日志使日志文件'xxzx_discuz_Log.LDF' 占满了磁盘所有空间,使网站无法正常使用数据库。
自己图省事分离数据库xxzx_discuz后,直接删除'xxzx_discuz_Log.LDF' (因为文件太大,无法存放到回收站),重新附件到SQL Server时出现两个提示:
------------------------------------------------------------------------------------------------------------------------------
SQL Server 企业管理器
---------------------------
为日志文件指定的文件名不正确。
将创建新的日志文件。
要继续吗?
---------------------------
是(Y) 否(N)
------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 1813: 未能打开新数据库 'xxzx_discuz'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 'S:\Program Files\Microsoft SQL Server\MSSQL\data\xxzx_discuz_Log.LDF' 可能有误。
---------------------------
确定
------------------------------------------------------------------------------------------------------------------------------
从而无法将数据库正常附加到SQL Server 2000,正常情况下这样操作是没有问题的,SQL Server会重新生成日志文件,但是因为之前出现了磁盘空间不足,日志文件不完整,从而造成了无法正常附加。
解决办法如下(从网上找来的):
0.备份数据文件'xxzx_discuz_Log.MDF'
1.新建一个同名的数据库'xxzx_discuz'
2.再停掉sqlserver服务(注意不要分离数据库)
3.用原数据库的数据文件'xxzx_discuz_Log.MDF' 覆盖掉新建的数据库
4.再重启sqlserver服务
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了. SQL代码
复制代码 代码如下:
use master
go
sp_configure 'allow updates',1 reconfigure with override
go
update sysdatabases set status =32768 where
go
sp_dboption '置疑的数据库名', 'single user', 'true'
go
dbcc checkdb('置疑的数据库名')
go
update sysdatabases set status =28 where
go
sp_configure 'allow updates', 0 reconfigure with override
go
sp_dboption '置疑的数据库名', 'single user', 'false'
go
特别注意最后一步中的说明“这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去就行了” 参考文章:Sql Server附加数据库出现1813错误的解决方法
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/mssql/927.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
SQL基本教程之行转列Pivo
时间:2021-01-20
-
region from hr.Employees union
时间:2021-01-20
-
有时候需要调整用户权限
时间:2021-01-19
-
(但使用 ORDER BY 子句并不
时间:2021-01-19
-
RAND()*10000)insert into Detail
时间:2021-01-19
-
OR 运算符:在两侧的查询
时间:2021-01-19
-
放假之前老大跟我提起了
时间:2021-01-19
-
数据库的运维计策剧本篇
时间:2021-01-19
热门文章
-
4.与聚合函数和 GROUP BY 子句有关的常见错
时间:2021-01-19
-
SQL Server安全(11/11):审核(Auditing)
时间:2021-01-09
-
sqlserver中查询横表变竖表的sql语句简析
时间:2020-12-08
-
SQL Server简单模式下误删除堆表记录恢复方
时间:2020-12-12
-
关于SQL Server查询语句的使用
时间:2020-12-13
-
MSSQL教程_mssql数据库教程_MSSQL基础教程_第
时间:2020-12-13
-
jdbc连接sql server数据库问题分析
时间:2020-12-10
-
详解SQL游标的用法
时间:2020-12-27
-
sql server 关于设置null的一些建议
时间:2020-12-28
-
mssql关于一个表格结构的另外一种显示(表
时间:2020-12-11
