zoukankan      html  css  js  c++  java
  • SQL Server 2008 局域网跨服务器T-SQL操作(一)

    --查看当前链接情况:
    select * from sys.servers;
    
    --增加链接,参数:服务器别名,为链接服务器的OLE DB数据源的产品名称,与此数据源对应的OLE DB访问接口的唯一编程标识符(PROGID),由OLE DB访问接口解释的数据源的名称 
    --这种设置链接服务器的方式强制链接服务器的名称与 SQL Server 远程实例的网络名称相同,也就是计算机名称
    参考:https://msdn.microsoft.com/zh-cn/library/ms190479.aspx
    EXEC sp_addlinkedserver
    @server=N'WIN-6SK2NQX',
    @srvproduct=N'',
    @provider=N'SQLOLEDB',
    @datasrc=N'192.168.35.6'
    
    --增加用户登录链接,参数:被访问的服务器别名,是否通过模拟本地登录名或显式提交登录名和密码来连接,是否本地登录,登录用户名,登录密码 

    参考:https://msdn.microsoft.com/zh-cn/library/ms189811.aspx
     EXEC sp_addlinkedsrvlogin 'WIN-6SK2NQX','false',NULL,'sa','server' 

    --使用 sp_helpserver 来显示可用的链接服务器
    Exec sp_helpserver

    --删除已经存在的某个链接,参数:服务器别名,本地服务器上的SQL Server登录。如果要删链接,则先要删除登录映射

    参考:https://msdn.microsoft.com/zh-cn/library/ms186218(v=sql.120).aspx
    Exec sp_droplinkedsrvlogin 'WIN-6SK2NQX',NULL 
    Exec sp_dropserver 'WIN-6SK2NQX'

    --应用:链接别名.数据库名.表名
    SELECT * from CEM1.[Test2.1].dbo.userinfo

    如果在操作过程中遇到“其他会话正在使用事务的上下文”错误,我是在触发器中使用这个方式操作链接数据库的,发生了这个错误。

    一种解释:查看一下该存储过程中是否有链接服务器指向本地,SQLSERVER2005不支持在分布式事务处理中存在指向本地的链接服务器(环回链接服务器)
    又一种解释:其原因是由于计算机名和sql server 2005的servername不一致所致。
    可以通过 select @@servername 
    查看数据库中的计算机网络名,重新按照这个名字添加一下链接服务器使用
     
  • 相关阅读:
    JAVA多线程理论!
    JAVA理论!
    对于PHP的基础理论!
    C#中的ArrayList
    C#中HashTable的用法
    用C#写经理评分系统
    C#数据类型
    jQuery小测的总结
    用jQuery模拟淘宝购物车
    JavaScript--------------------jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画
  • 原文地址:https://www.cnblogs.com/sky-gfan/p/5461617.html
Copyright © 2011-2022 走看看