可能是你在恢复的时候没有在本地选择mdf和ldf的文件位置。如果你把服务器的mdf和ldf拷贝出来,需要把服务器上的数据库停用才能行。建议不要这么做。
我详细说下怎么 *** 作。
1
在服务器上找到特定数据库名--右键所有任务--备份数据库--d出备份窗口,选择备份目标地址路径。(文件名以后缀名
bak
)
2
把备份的数据库文件(bak)
复制到本地电脑
3在本地数据中选中数据库(不是数据库名)--右键所有任务--恢复数据库--d出恢复窗口,在恢复数据库里输入你想恢复成的数据库名(可以随便取,也可以用原来数据库名),选择从设备恢复,找到bak文件。
4此时不要点击ok。需要在回到恢复数据库窗口--选项--选择本地的物理逻辑地址,就是放mdf和ldf的地方。(你可能没有修改这里,用的还是服务器上的路径,
所以本地找不到报错。)可以分离数据库的数据和事务日志文件,然后将它们重新附加到同一或其他 SQL Server 实例。如果要将数据库更改到同一计算机的不同 SQL Server 实例或要移动数据库,分离和附加数据库会很有用。
分离数据库在 SQL Server Management Studio 对象资源管理器中,连接到 SQL Server 数据库引擎 的实例,然后再展开该实例。 展开“数据库”,并选择要分离的用户数据库的名称。 右键单击数据库名称,指向“任务”,再单击“分离”。将出现“分离数据库”对话框。要分离的数据库列出要分离的数据库。 数据库名称 显示要分离的数据库的名称。删除连接断开与指定数据库的连接。 注意不能分离连接为活动状态的数据库。
附加数据库,右键单击“数据库”,然后单击“附加”。其他步骤如分离数据库 在“附加数据库”对话框中,若要指定要附加的数据库,请单击“添加”,然后在“定位数据库文件”对话框中选择数据库所在的磁盘驱动器并展开目录树,以查找并选择数据库的 mdf 文件。例如C:\Program Fille\Microsoft SQL ServerMSSQL11MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Datamdf1
sql2005
数据库
不能
导到
2000中,所以服务器是2000的
必须建个
2000的数据库
导进去
2
进入
sql2000企业管理企
,新建sql注册
输入你的用户名密码
会看到好多数据库
打开你的数据库
用导出导入数据
就可以了
3
如果要更改你服务器上的数据库数据
首先要登录网页
链接到你的数据库
就能在企业管理器里面
作修改了1、用dump命令备份数据库。
# mysqldump -u root -p dbfile > dbfilesql
2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mydumpfolder/dbfilesql
3、登陆新服务器的mysql客户端。
# mysql -u root -p
4 建立数据库。
mysql> create database dbfile;
5 选择新数据库;
mysql> use dbfile;
6 加载数据;
mysql> source dbfilesql
或者
在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否?
注:不用考虑 *** 作系统。
---------------------------------------------------------------
在dos命令提示符下使用mysqldump命令进行备份
如下:
C:\Documents and Settings\Administrator>mysqldump yinshi >c:\\backuptxt -uroot
-p12142022
说明:yinshi是我的数据库名,里面有5张表; c:\\backuptxt 是我备份出来文件名和路径;
-u,-p参数后面跟的分别是用户名和密码
将你备份出来的文件我这里是backuptxt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下:
C:\Documents and Settings\Administrator>mysql < c:\\backuptxt -uroot -p12142022
or
mysql>source backuptxt;(这里backuptxt在放在data目录下)
---------------------------------------------------------------
如果另一台机器上也安装了mysql,可以直接导入
C:\mysql\bin>mysqldump -h172206250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172206250源服务器ip
developer源服务器连接用户名
---------------------------------------------------------------
有两种办法。
1、在B机器上装mysql。
将A机器上的mysql/data下的你的数据库目录整个拷贝下来。
将B机器上的mysql服务停止。
找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。
2、使用SQL语句备份和恢复
你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。
语法:
SELECT INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_nametxt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT INTO OUTFILE ’file_name’首先,打开服务器上已经安装好的SQL Server 2005 服务器,并且用本地Windows身份登录。
2
打开SQL Server服务器以后,点击数据库--选择附加
3
打开附加数据库界面后,点击右小角的添加
4
打开电脑上,之前备份好的完成数据库文件,然后点击确认。
5
数据库文件和其数据库日志文件,就一并加载过来了,点击确认就可以了。
6
展开数据库,就可以了看到我
们刚刚附加过来的完整数据库了,现在就可以
使用
这个数据库。
开始菜单--->程序,打开SQL Server Management Studio(即我们的SQL 2005)
连接服务器后,找到我们需要迁移的数据,右键点击属性
在数据库属性里面,点击文件,可查看数据库文件和数据库日志文件的存放路径
确定没有任何其它用户连接到此数据库后,点击该数据库-->任务-->分离
我们可以看到分离以后,刚刚那个数据库,已经不在此列表
进入刚刚我们第3步属性里面看到的数据库文件路径如下图把我们的ZNLCRMmdf数据库文件和ZNLCRM_LogLdf数据库日志文件拷贝到另外一台服务器
在另外台服务器上打开SQL数据库与第1步一样点击数据库--->附加
在附加数据库里面,点击添加,如下图所示
找到刚刚拷贝过来的ZNLCRMmdf文件选中该文件,依次点击确定(注意日志文件会自动一起加载过来)
然后我们就可以看到,一个完整的数据库就直接被迁移过来如下图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)