-- 很多朋友问局域网多数据库服务器访问该如何操作?下面简单说明如何配置远程链接访问。

/*********** 环境说明 ***********/

--http://www.wpf123.com

-- 源机器 IP 为 10. 0.0.211 ,在该机器所在数据库建立与目标机器的远程数据库链接。

-- 目标机器 IP 为 10. 0.0.222 。

-- 步骤(一)是指直接用 IP 进行远程链接,个人觉得用 IP 链接虽然麻烦,但是直观而且在多服务器操作时不会出现误链接的情况。

-- 步骤(二)是指直接用别名进行远程链接,较方便;但在高压力,大脑暂时短路情况下容易出现误链接数据库情况发生。

/*********** 步骤(一) ***********/

-- 建立连接服务器

EXEC sp_addlinkedserver   '10.0.0.222' , 'SQL Server'

/*-- 如果数据库有架构名需要做远程登录之间的映射

-- 创建链接服务器上远程登录之间的映射

--http://www.wpf123.com

EXEC sp_addlinkedsrvlogin '10.0.0.222','false','SA',' 架构名 ',' 登录密码 '

*/

-- 查询数据

-- 含架构名

select top 10 * from [10.0.0.222]. 数据库名 . 架构名 . 表名

-- 不含架构名

select top 10 * from [10.0.0.222]. 数据库名 . dbo. 表名

-- 查看链接服务器信息

select name , product, provider, data_source, query_timeout, lazy_schema_validation, is_remote_login_enabled, is_rpc_out_enabled

from sys.servers

where is_linked= 1

/*********** 建立步骤(二) ***********/

/*-- 如果用 IP 连接觉得麻烦,可以新建别名

-- 配置链接服务器属性

exec sp_serveroption '222','name','10.0.0.222'

*/

-- 查询数据

--http://www.wpf123.com

-- 含架构名

select top 10 * from 222. 数据库名 . 架构名 . 表名

-- 不含架构名

select top 10 * from 222. 数据库名 . dbo. 表名

-- 删除链接服务器登录名映射

exec sp_droplinkedsrvlogin '10.0.0.222' ,NULL

-- 删除链接服务器属性

exec sp_dropserver '222'

--注:如果执行 删除链接服务器时提示如下错误时,

消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行
仍有对服务器 'XXXX' 的远程登录或链接登录。

执行

exec sp_dropserver ' 链接服务器 ' , 'droplogins'

select * from [Form_016336CC-C7FA-43D2-9EA5-C3F9A5B47A50_0]


use库名

go

SELECTobjtype, objname, name, value
FROMfn_listextendedproperty(default, default, default, default, default, default, default);

select*fromsys.extended_properties

SELECTobjtype, objname, name, value 
FROMfn_listextendedproperty(NULL, 'schema', 'dbo', 'table', 'form', 'column', default);

select*frominformation_schema.columns wheretable_name='form'

SELECTDISTINCT
      TOP100PERCENTisnull(p.name,'') AS父对象, o.xtype, 
      CASEo.xtype WHEN'C'THEN'CHECK 约束'WHEN'D'THEN'默认值或DEFAULT约束'
       WHEN'F'THEN'FOREIGNKEY约束'WHEN'L'THEN'日志'WHEN'FN'THEN'标量函数'
       WHEN'IF'THEN'内嵌表函数'WHEN'P'THEN'存储过程'WHEN'PK'THEN'PRIMARYKEY约束'
       WHEN'RF'THEN'复制筛选存储过程'WHEN'S'THEN'系统表'WHEN'TF'THEN'表函数'
       WHEN'TR'THEN'触发器'WHEN'U'THEN'用户表'WHEN'UQ'THEN'UNIQUE 约束'
       WHEN'V'THEN'视图'WHEN'X'THEN'扩展存储过程'WHEN'R'THEN'规则'ELSENULL
       ENDAS类型, o.name AS对象名, o.crdate AS创建时间, o.refdate AS更改时间, 
      c.textAS声明语句,OBJECTPROPERTY(o.id, N'IsMSShipped')
FROMdbo.sysobjects o LeftJOIN
      dbo.sysobjects p ONo.parent_obj =p.id LEFTOUTERJOIN
      dbo.syscomments c ONo.id =c.id
WHERE--(o.xtype IN ('C','D','F','PK','UQ','L','FN','IF','TF','TR','P','R','RF','X','S','U','V')) AND 
(OBJECTPROPERTY(o.id, N'IsMSShipped') =0) AND(isnull(p.name,'') <>N'dtproperties') ando.xtype ='U'
ORDERBYo.xtype DESC

ifexists(select1fromsysobjects  whereid   =object_id( 'BarCode') andtype   ='U ') 
      droptableBarCode 
go

/*==============================================================*/
/*Table:   BarCode      http://www.wpf123.com*/

/*==============================================================*/
createtableBarCode   ( 
      ID    intnotnull, 
      Style   char(18) null, 
      Content varchar(512) null, 
      Height  intnull, 
      Wdith   intnull, 
      Remark varchar(512) null, 
      constraintPK_BARCODE   primarykey(ID) 

go

select*fromForm whereid ='016336CC-C7FA-43D2-9EA5-C3F9A5B47A50'
select*from[Form_016336CC-C7FA-43D2-9EA5-C3F9A5B47A50_0]

selecto.name,c.text,'N'from[InsulationExpertSystem_CD_2010-02-16_backup].dbo.sysobjects o ,dbo.syscomments c 
     whereo.id =c.id ando.xtype ='V'ando.name ='View_1'

--创建链接服务器:
execmaster.sys.sp_addlinkedserver 'srv_lnk','','SQLOLEDB','DEVELOPPC-PC'
execmaster.sys.sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','sa'
execmaster.sys.sp_serveroption 'srv_lnk','rpc out','true'--这个允许调用链接服务器上的存储过程
go
--exec master.sys.sp_dropserver 'srv_lnk','droplogins' --不用就删除
--go

用SQL语句将远程SQL Server数据库中表数据导入到本地数据库相应的表中

怎样用SQL语句将一个远程SQL Server数据库中各个表的数据导入到本地数据库相应的表中

http://www.wpf123.com

  怎样用SQL语句将一个远程SQL Server数据库中各个表的数据导入到本地数据库相应的表中?
  表结构完全相同,听说DTS比较方便,但是不会用

  一、方法一

  1、远程数据库注册到本地的方法

exec sp_addlinkedserver '名称','','SQLOLEDB','远程数据库的地址'

exec sp_addlinkedsrvlogin '名称','false','本地用户名称','远程用户名称','远程用户密码'

  2、倒入表

insert 数据库.dbo.表
select * from 远程名称.dbo.表

  建立了连接后,试试看

  二、方法二

  访问不同电脑上的数据库(远程访问,只好联好网就一样),如果经常访问或数据量较大,建议用链接服务器方法。

  1、创建链接服务器

exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或IP地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
exec sp_serveroption 'srv_lnk','rpc out','true'  --这个允许调用链接服务器上的存储过程
go

  2、使用示例

--查询示例
select * from srv_lnk.数据库名.dbo.表名

--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名

go

   3、若不再使用时,删除链接服务器

exec sp_dropserver 'srv_lnk','droplogins'

  三、方法三

  如果只是临时访问,可以直接使用openrowset。

  1、示例1

--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码',数据库名.dbo.表名)

--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码',数据库名.dbo.表名)

  2、示例2(此示例使用测试正常)

insert 数据库名称.dbo.表
select * from 
from  openrowset('MSDASQL',
'DRIVER={SQL Server};SERVER=远程服务器地址;UID=用户名;PWD=密码',表) AS a

  四、相关问题

  问:当导入的数据量很大,而网络突然中断,会不会出现问题?

  答:中断的话,就等于什么也没做,也就是事务回滚,重新运行。

  五、随后的问题

  问:由于在表中,通常都定义了自增量列及主键,而自增量列还进行了关连。由于在倒表时,自增量列不随原表变化,就造成了关联关系的丢失,通常的做法是:      http://www.wpf123.com

SET IDENTITY_INSERT 表名 ON
insert into 表名(字段,字段,字段) values (64,'han','guo')
SET IDENTITY_INSERT 表名OFF

即使用“SET IDENTITY_INSERT 表名 ON”将自增量关闭,但是,需要注意的是,当该表中没有自增量字段时,使用该命令会产生一个错误。

因此,在没有自增量字段的表中进行“插入”操作时,请不要使用“SET IDENTITY_INSERT 表名 ON”。

如何方便的建立远程链接服务器相关推荐

  1. SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值

    我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked S ...

  2. ubuntun安装ssh,并远程链接服务器操作

    SSH是一种以安全.加密方式连接远程主机或服务器的方法.SSH服务器接受从有SSH的客户机的连接,允许操作者象在本地一样地登录系统.你可以用SSH从远程运行shell和X程序. (1)安装SSH服务器 ...

  3. Git建立远程/本地服务器和git命令的使用

    Github 远程仓库 1.github.com 注册账户 2.在github上创建仓库 3.生成本地ssh key [root@localhost ~]# ssh-keygen -t rsa -C ...

  4. Pycharm 专业版如何远程链接服务器

    一.下载Pycharm professional 版本 有edu.cn结尾的邮箱(学生和教师)可以免费申请使用pycharm专业版,nice!!!! 点击此处申请 点击申请->填写相关信息-&g ...

  5. 建立远程ftp服务器,利用无线路由器建立FTP服务器

    路由器的应用非常广泛,无线路由器技术也更加的完善和稳定,利用无线路由器能构建FTP服务器.下面,我就具体的方法在这里拿出来和大家分享一下,希望对大家有用. 一.FTP FTP(文件传输协议)诞生之后, ...

  6. VSCode 使用ssh远程链接服务器时报错 Downloading VS Code Server failed

    目录 问题描述 问题解决 问题描述 之前VScode一直能用ssh连接服务器,后来被挖矿病毒攻击了一次,解决之后突然连不上了,提示 Could not establish connection to ...

  7. SQL Server链接服务器(一台机器SQL Server登陆,同时映射登陆到另外一台远程服务器的数据库)

    现在我有一个需求是需要在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新.我们需要把Server One的数据插入到Server Two的服务器上去,一天执行一次任务.我们的首选 ...

  8. SQL Server链接服务器 Linked Server

    使用方法 exec sp_addlinkedserver @server,@srvproduct,@provider,@datasrc,@location,@provstr,@catalog; exe ...

  9. SQLServer连接服务器维护,SQLServer远程连接服务器详细配置(sp_addlinkedserver)

    远程链接服务器详细配置 --建立连接服务器 EXEC sp_addlinkedserver '远程服务器IP','SQL Server' --标注存储 EXEC sp_addlinkedserver ...

最新文章

  1. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享
  2. iOS 推送通知 客户端实现
  3. 敏捷软件开发:原则、模式与实践——第12章 ISP:接口隔离原则
  4. 打开 mhtml 文件 显示不全_3dmax打开时显示缺少外部文件的解决方法与步骤
  5. 【Qt教程】2.6 - Qt5 自定义控件封装
  6. hive字段乱码问题(解决)
  7. 不用代码隐藏自定义列表
  8. php 或取域名的ip,php如何获取域名IP地址代码函数
  9. Linux下source命令作用
  10. VS Code好看的主题
  11. vs201X的TFS(Team Foundation Server) 设置为:不自动签出
  12. php打开文件fopen函数
  13. AARRR模型:用户激活指标+方法,很实用!
  14. 华为首款台式机计算机发布,华为首款商用台式机发布,或再成商用PC市场破局者...
  15. 计算机网络技术的研究现状,计算机网络技术发展研究
  16. QT——Qt QtCreator 官方下载地址
  17. 工具栏ToolStrip
  18. LeetCode(跳跃游戏)
  19. 时间管理自我管理的演讲稿
  20. 云服务器优势差别?三大主流云平台对比

热门文章

  1. 【课程】02 土壤水动力学
  2. java小游戏之扫雷
  3. php 怎么上传图片,php怎么把图片上传到图片服务器
  4. RC滤波器:一阶无源、二阶无源、二阶有源
  5. 一文读懂什么是反卷积
  6. 辛普森求积公式 和 复合辛普森求积公式 Matlab 实现
  7. 黑色笼罩中国联通:半年流失近千万用户 4G发展停滞不前---OFweek
  8. 一文排除WINDOWS-PYTHON3.7环境安装WORD2VEC包的所有坑
  9. 用余弦定理求三角形内角
  10. 通过json文件渲染到页面