首页 SQL SERVER 正文
  • 本文约2287字,阅读需11分钟
  • 2386
  • 0
举报该广告
如何在SQL2005EE里导 mdf ldf

如何在SQL2005EE里导 mdf ldf

摘要
方法一
在sql server 2005 数据库中,一次误操作,分离数据库后,直接将日志文件删除掉了,后进行附加出错,无法附加上去,经过如下解决方案,数据库附加成功,操作如下
第一步:先建立一个同名数据库,停止SQL SERVER2005,将原来.mdf数据库文件覆盖刚新建.mdf数据库文件,重新启动数据库
第三步:在查询分析器中运行如下代码:

alter database 你的...
方法一
在sql server 2005 数据库中,一次误操作,分离数据库后,直接将日志文件删除掉了,后进行附加出错,无法附加上去,经过如下解决方案,数据库附加成功,操作如下
第一步:先建立一个同名数据库,停止SQL SERVER2005,将原来.mdf数据库文件覆盖刚新建.mdf数据库文件,重新启动数据库
第三步:在查询分析器中运行如下代码:

alter database 你的.mdf文件  set emergency  '--将数据库设置为紧急状

use master 

declare @databasename varchar(255) 

set @databasename='你的.mdf文件'         '--你的.mdf文件文件

exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状 

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) 

dbcc checkdb(@databasename,REPAIR_REBUILD) 

exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状 

以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代 

方法二:

在SQL Server Mangement Studio 里连接上数据后,选择新建查询,然后执行语

EXEC sp_attach_db @dbname = N 'DBNAME' , ->生成一个数据库的名

@filename1 = N 'D:\filename.mdf',

@filename1 = N 'D:\filename.ldf',

如果数据库为只读属性:

打开SQL Server Configuration Manger 打开SQL Server EXPRESS属

把内置帐号网络服-〉本地系 重新启动sql server 2005 express

 

方法三:

1  在SqlServer 2005 导入已有的数据库*.mdf)文 在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句    EXEC sp_attach_db @dbname = N’Sql2005DB,     @filename1 = N’D:\Sql2000DB.mdf,     @filename2 = N’D:\Sql2000DB.ldf 数据就可以导入sqlserver2005了
2 直接拷贝数据文件 把数据库的数据文件(*.mdf)和日志文件*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复: EXEC sp_attach_db @dbname = ’test, @filename1 = ’d:mssql7datatest_data.mdf, @filename2 = ’d:mssql7datatest_log.ldf 这样就把test数据库附加到SQL Server中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令 EXEC sp_detach_db @dbname = ’test EXEC sp_attach_single_file_db @dbname = ’test, @physname = ’d:mssql7datatest_data.mdf 这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了
3 附加的方 在SQL 2005控制  右击“数据库 然后选择附加
4 SQL2000的数据库一般就只有两个文件:MDF和一个LDF,你直接将文件加载到SQL2005去就可以了,SQL2005会自动加一些东西进去 将数据库从SQL2000迁移到SQL2005,无法查看关系图的解决办法 选中这个数据,新建一个查,输入下面的脚: EXEC sp_dbcmptlevel database_name, 90 USE database_name EXEC sp_changedbowner ’sa 其中,database_name是此数据库的名称. 运行可能需要一段时,运行完成,点击"关系",刷新,应该就可以看到关系图. MSSQL2000 数据库文件迁移到 MSSQL2005 可能要用的一些命2008-03-11 17:39--修改对象所有 EXEC sp_changeobjectowner ’user_database, ’dbo; exec sp_changedbowner ’sa --检查空用户 sp_change_users_login ’report --修复空用 sp_change_users_login ’Auto_Fix, ’mydb, NULL, ’mydb --合并物理文件,删除文件,清除活动事务 --和空, 文件进行收缩数据或信息文件中运行以下 Transact-SQL 语句 DBCC SHRINKFILE (’逻辑 < 文件 >, EMPTYFILE ) --要从数据, 删除文件运行以下 Transact-SQL 语句 ALTER DATABASE <数据库名> REMOVE FILE <逻辑文件> --重命名逻辑文件 --要修改的数据文件或日志文, 逻辑名称指定要通过使用 Name 参数, 命名逻辑文件名称 然后通过使用 NewName 参数指定文件的新逻辑名称 重命名该逻辑文件, 运行下列 Transact-SQL 语句 ALTER DATABASE <数据库名> MODIFY FILE ( NAME = <current_logical_name>, NEWNAME = <new_logical_name>)

📱 扫码关注公众号

公众号二维码

扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满

收藏

扫描二维码,在手机上阅读
评论
更换验证码
友情链接