问题描述:
请问大伙,能不能直接从SQL数据库备份文件中其中几个表?没积分了,谢谢大家,在线等
解析:
可以先新建数据库实例,建立相同名称数据库,再恢复到新实例,然后使用跨数据库复制:
sql 跨服务器复制分类:默认栏目
为了安全,经常要使用上双服务器,在双地区进行备份,以防止数据出错。有时我们要恢复部分表的数据,这时就需要利用sql的跨数据库的复制(当然可以利用程序转换)如何跨数据库复制一下例子可供参考。
select from OPENDATASOURCE('SQLOLEDB','Data Source=100128106;User ID=sa;Password=as')backserversdbo[usys-hotel]
create table #temptable (Id varchar(50),Status varchar(50),num numeric(18,0) identity not null)
insert into #temptable select Id,Status from OPENDATASOURCE('SQLOLEDB','Data Source=100128106;User ID=sa;Password=as')backserversdbo[usys-hotel]
select from #temptable
delete from #temptable
declare @i int
declare @Status varchar(50)
declare @Id varchar(50)
set @i=106
while @i<210
begin
select @i=@i 1
select @status=status from #temptable where num=@i
select @id=id from #temptable where num=@i
update [usys-hotel-info] set status=@status where id=@id
end
另外还有些方法没有用过:
先使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select from 别名库名dbo表名
insert 库名dbo表名 select from 别名库名dbo表名
select into 库名dbo新表名 from 别名库名dbo表名
go1、打开My SQL Workbench
2、点击database菜单,然后选择schema transfer wizard
3、点击下方的start wizard
4、选择源数据库服务器连接和目标数据库服务器连接
5、点击下方的test connectiton,测试两个连接是否正常,然后点击next
6、勾选要复制的数据库实例,然后点击start copy
7、系统显示复制进度,结束后点击next
8、点击finished,此时跨服务器的数据库实例复制就完成了直接在执行器里运行sql语句的好像是没有的,可以用备份和还原命令语句,也能远程备份和还原的,在程序命令库里就能执行,windows和linux都可以。
备份:mysqldump -h 127001 -u root -p test1 > sql_baksql
还原:mysql -h 127002 -u root -p -P 3306 test1< sql_baksql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)