成都网站建设设计

将想法与焦点和您一起共享

sqlserver附加与,sqlserver数据库附加

sqlserver 数据库无法附加

* 将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;

成都创新互联公司主营翔安网站建设的网络公司,主营网站建设方案,重庆APP软件开发,翔安h5微信小程序开发搭建,翔安网站营销推广欢迎翔安等地区企业咨询

* 在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa;

* 如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;

* 将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;

sqlserver 附加数据库 错误823 如何解决?

sqlserver附加数据库错误823的解决方案

一、SQL-Server附加数据库时失败。

1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。

2、异常分析:关于823错误的 SQL-SERVER 中的帮助:

================================

错误 823

严重级别 24

消息正文

在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释

Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。

3、解决办法:

在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:

第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表的开关 */

第二、

update sysdatabases set status=32768 where name='数据库名' /* 设置数据库状态 */

第三、

DBCC REBUILD_LOG ('数据库名','D:\database\Test_Log.LDF') /* 重建LDF文件 */

第四、

update sysdatabases set status=0 where name='数据库名' /* 重置数据库状态 */

第五、

restore database 数据库名 WITH RECOVERY /* 恢复数据库 */

第六、

exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭打开修改系统表的开关 */

按照此方法操作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。

============================================================

补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:

USE nmgbt_hcxuexipos (数据库名)

GO

DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)

GO

sqlserver出现数据库不能附加怎么回事

打开sqlserver management studio,登录身份选择windows身份验证,点击连接

进入管理器中,选择数据库,右键,在弹出的菜单选择“附加”,如图所示,选择要附加的文件后,点击附加,如果没有报错,则完成附加,否则,需要接下来的数据修复。

报错,附加失败后,请新建数据库,且要与要附加的数据库同名。如要附加的数据库为skhprint,要新建的数据库名也要命名为skhprint,如图,点击确定,完成数据库创建

停止数据库

将原mdf文件,如skhprint.mdf复制到新创建的数据库所在目录中,之后,开启服务器

这是,会发现skhprint质疑,接下来要打开查询分析器,输入如下代码:

use master

--declare @databaseName varchar(50)

--set @databaseName='skhprint'

--1修改服务器设置:允许对系统目录进行直接修改

sp_configure 'allow updates',1 reconfigure with override

--2将数据库置为紧急状态

update master.dbo.sysdatabases set status = 32768 where name = 'skhprint'

--3删除新的ldf文件,重建日志:

dbcc rebuild_log('skhprint', 'f:\skhprint_log_new.ldf')--假设把新日志在f盘

update master.dbo.sysdatabases set status = 16 where name = 'skhprint'

--4修改服务器设置:取消 允许对系统目录进行直接修改

sp_configure 'allow updates', 0 reconfigure with override

--再使用检查工具修复错误 dbcc

--5设置为单用户模式

alter database skhprint set single_user with rollback immediate

--6 修复数据库

dbcc checkdb ('skhprint',REPAIR_ALLOW_DATA_LOSS)

--7 设置为多用户模式

alter database skhprint set multi_user

--执行完毕之后,如果还有错误,重复执行6,直到没有错误为止。

--根据提示操作

--如果没有其他问题,则修复成功!

SQL 附加数据库怎么附加不进去呢 说是无法附加与现有数据库同名的数据库(sqlserver.Smo)

你的master中已经有一个和你的附加的数据库同名的数据库了,你可以将同名的数据库改个名字,在附加别的数据库,如果不想,先备份删除了在附加!


名称栏目:sqlserver附加与,sqlserver数据库附加
转载来源:http://chengdu.cdxwcx.cn/article/dsgjhch.html