
首先,新建一个数据库,数据库名字为fuzhi
然后右击选择想要从中获取数据的数据库,选择任务,选择导入数据
然后进入导入第一个页面,然后点击下一步
然后填写想要从中导入数据的数据库配置信息,点击下一步
然后填写fuzhi的配置信息,点击下一步
然后选择第一个,点击下一步
然后选择所有的表数据,点击下一步
选中立即运行,点击下一步
然后都是下一步,然后完成,就可以导入数据了
导入完成之后,就可以看到fuzhi的数据里的表数据了
或者把SQL服务先停止,然后拷出来mdf文件和ldf文件,然后"分离和附加",提示改名,就OK了。
看了下你的描述,
可能是你在恢复的时候没有在本地选择MDF和LDF的文件位置。如果你把服务器的MDF和LDF拷贝出来,需要把服务器上的数据库停用才能行。建议不要这么做。
我详细说下怎么 *** 作。
1
在服务器上找到特定数据库名--右键所有任务--备份数据库--d出备份窗口,选择备份目标地址路径。(文件名以后缀名
bak
)
2
把备份的数据库文件(bak)
复制到本地电脑
3在本地数据中选中数据库(不是数据库名)--右键所有任务--恢复数据库--d出恢复窗口,在恢复数据库里输入你想恢复成的数据库名(可以随便取,也可以用原来数据库名),选择从设备恢复,找到bak文件。
4此时不要点击OK。需要在回到恢复数据库窗口--选项--选择本地的物理逻辑地址,就是放MDF和LDF的地方。(你可能没有修改这里,用的还是服务器上的路径,
所以本地找不到报错。)
分为两种情况,一种是目标表不存在,另一种是目标表已存在,语法是不同的。
分别以sqlserver和oracle为例,两者略有不同。
sqlserver中,如果目标表不存在:
select
into
新表名
from
旧表名;
sqlserver中,如果目标表已存在:
insert
into
新表名
select
from
旧表名;
oracle中,如果目标表不存在:
create
table
新表名
as
select
from
旧表名;
oracle中,如果目标表已存在(方法同sqlserver):
insert
into
新表名
select
from
旧表名;
结构一样的话
insert into 数据库AdboTableA
select from 数据库BdboTableA
另外:
nsert into DDD(字段1,字段2,字段3 )
(
select 字段1,字段2,字段3 from AAA,BBB,CCC
)
插入的字段和查询的字段数量类型一致
由于你的夸库查询插入
所以在表名前加 库名用户名
insert into B用户DDD(字段1,字段2,字段3 )
(
select 字段1,字段2,字段3 from A用户AAA,A用户BBB,A用户CCC
)
如果是sqlserver数据库,可以在查询分析器左边菜单看到表用户名,
如果你是在A库下 *** 作,可以省去A库表的库名用户名,同理B库表也一样
不同的数据库语法不同(SQL Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况,分别回答:
SQL Server中,如果目标表存在:
1
insert into 目标表 select from 原表;
SQL Server中,,如果目标表不存在:
1
select into 目标表 from 原表;
Oracle中,如果目标表存在:
1
2
insert into 目标表 select from 原表;
commit;
Oracle中,如果目标表不存在:
1
create table 目标表 as select from 原表;
以上就是关于sql server 怎么复制一个整个数据库到另一个数据库全部的内容,包括:sql server 怎么复制一个整个数据库到另一个数据库、SQL 2000如何把服务器上的数据库复制到本地的数据库、SQL数据库怎样将几行的数据复制到到另外一个数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)