• 转:不同服务器数据库之间的数据操作[含远程数据库备份]


    不同服务器数据库之间的数据操作

    --创建链接服务器 
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
    exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 '
     
    --查询示例
    select*from ITSV.数据库名.dbo.表名

    --导入示例
    select*intofrom ITSV.数据库名.dbo.表名
     
    --以后不再使用时删除链接服务器
    exec sp_dropserver  'ITSV ', 'droplogins '
     
    --连接远程/局域网数据(openrowset/openquery/opendatasource) 
    --1openrowset 
     
    --查询示例
    select*fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
     
    --生成本地表
    select*intofromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
     
    --把本地表导入远程表
    insertopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
    select*from本地表
    --更新本地表
    update b 
    set b.A=a.A 
     fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a innerjoin本地表 b 
    on a.column1=b.column1 
     
    --openquery用法需要创建一个连接
     
    --首先创建一个连接创建链接服务器
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
    --查询
    select*
    FROMopenquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    --把本地表导入远程表
    insertopenquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    select*from本地表
    --更新本地表
    update b 
    set b.B=a.B 
    FROMopenquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a  
    innerjoin本地表 b on a.A=b.A 
     
    --3opendatasource/openrowset 
    SELECT   *
    FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
    --把本地表导入远程表
    insertopendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
    select*from

    --SQL如何备份到异机

    写成存储过程,建立作业定时备份~~~


    --在sql中映射一下就可以了
    exec master..xp_cmdshell 'net use z: //yizhi/D$ "密码" /user:yizhi/administrator'

    /*--说明:
    exec master..xp_cmdshell 'net use z: //xz/c$ "密码" /user:xz/administrator'

    z:是映射网络路径对应本机的盘符,与下面的备份对应
    //xz/c$是要映射的网络路径

    xz/administrator
    xz是远程的计算机名,
    administrator是登陆的用户名
    密码 面指定的administrator用户的密码
    --*/

    --备份;with init覆盖 &brvbarnoinit添加
    backup database 库名 to disk='E:/H_BACKUP.bak' with init

    --COPY
    exec master..xp_cmdshell 'copy E:/H_BACKUP.bak z:'

    --删除(这句可以去掉)
    --exec master..xp_cmdshell 'del E:/H_BACKUP.bak'

    --完成后删除映射
    exec master..xp_cmdshell 'net use z: /delete'

    生命是一场忧伤的观望,恰如陌路花开,终究是个过客。
  • 相关阅读:
    我的博客园的博客开通啦
    设置cookie
    JavaScript自动提示
    补码
    vim快捷键
    JavaScript获取URL参数
    Linux根目录下子目录的功能
    JavaScript分页栏链接转变算法
    可输可选可自动提示,还可增加一个!
    VS2008启动调试,出现“ 已经找到网站 正在等待回应”
  • 原文地址:https://www.cnblogs.com/ygyxinyu/p/3727798.html
Copyright © 2020-2023  润新知