问题描述

今天在做数据库迁移,然后新建link server(链接服务器)的时候,碰到以下问题。

我的sql 脚本是这样的。

然后,执行的时候就收到以下错误信息。

Msg 468, Level 16, State 9, Line 7

Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.


原因分析

依据错误提示信息,很容易就可以发现,是因为当前DB的排序规则与链接服务器对应的DB的排序规则不一致导致的。

但是,确认当前DB的排序规则与链接服务器对的DB的排序规则是完全一样的,都是SQL_Latin1_General_CP1_CI_AS。

解决办法

当然,我这里的解决办法只是一个替代的解决方案。

由于前面我是通过UI操作去创建的,那么我换一种方案,使用sql脚本(可以找一个正常的link server右键导出脚本然后修改)来创建,结果一切正常。

创建link server的脚本:

/****** Object:  LinkedServer [xxx]    Script Date: 09/10/2015 17:25:22 ******/
IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N'xxx')EXEC master.dbo.sp_dropserver @server=N'xxx', @droplogins='droplogins'
GO
/****** Object: LinkedServer [xxx] Script Date: 09/10/2015 17:25:22 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'xxx', @srvproduct=N'xxx', @provider=N'SQLNCLI10', @datasrc=N'xxx\DEV'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'xxx',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='xxx.xxx.dev'
GO

创建link server链接服务器碰到的问题及解决办法的更多相关文章

  1. 在64位SQL Server中创建Oracle的链接服务器 Link Server

    有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接. 数据库链接能够让本地的一个s ...

  2. 在64位SQL Server中创建Oracle的链接服务器

    当我们同时使用SQL Server和Oracle来存储数据时,经常会用到跨库查询.为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实现.既可以在SQL Server中创建Oracle的链接 ...

  3. sql server 与oracle数据互导的一种思路--sql server链接服务器

    思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...

  4. hexo创建的tags和categories页面为空的解决办法

    title: hexo创建的tags和categories页面为空的解决办法 toc: false date: 2018-04-16 02:26:10 主题:landscape 添加type以及men ...

  5. PHP服务器时差8小时的解决办法

    PHP服务器时差8小时的解决办法 <?php date_default_timezone_set('Asia/Shanghai');  echo date("Y-m-d")? ...

  6. 通过存储过程(SP)实现SQL Server链接服务器(LinkServer)的添加

    1. 背景 当系统的微服务化做的不是很高的时候,部分功能要通过DB LinkServer 来实现跨 Server 查询,当然,有时候BI抽数据.DBA数据库维护可能也会创建LinkServer. 特别 ...

  7. SQL Server 链接服务器的安全

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 安全设置(Security Settings) 实现效果:用户A能看见能使用,B用户不能看见这 ...

  8. 使用sql server 链接服务器

    在我们的日常应用场景中经常会碰访问不同服务器上的数据库,即跨服务器访问操作不同的服务器上的SQL Sever数据库, 这个时候Sql Server的链接服务器就非常实用,创建SQL语句如下: --重新 ...

  9. 如何使用SQL Server链接服务器访问DB2 Server

    首先,需要安装Microsoft OLE DB Provider for DB2 下载地址:http://download.microsoft.com/download/B/B/2/BB22098A- ...

随机推荐

  1. 数据库mysql中distinct关键词

    在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 例如,在学生信息表中,你想查询该学校有多少个系.例如, ...

  2. jQuery 中的children()和 find() 的区别

    <!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...

  3. Effective C++ 的55个条款

    看完Effective C++才觉得平时程序设计时需要注意的一些问题,有一定的收获,不过因为没什么项目实践, 并未很深入了解具体情况如何,还需后继实践~ 列举一下55个条款: 1. 视C++为一个语言 ...

  4. JS 和 Java 中URL特殊字符编码方式

    前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...

  5. [转载] google mock cookbook

    原文: https://code.google.com/p/googlemock/wiki/CookBook Creating Mock Classes Mocking Private or Prot ...

  6. js获取select字段值的方法

    var index = obj.selectedIndex; // 选中索引 var value = obj.options[index].value; // 选中值 var schoolName = ...

  7. (六)ARM状态寄存器-PSR

    ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和1或2个状态寄存器是可以随时访问的.在特权模式 (privileged mode) 下, 对应的 ...

  8. Mybatis关联查询,查询出的记录数量与数据库直接查询不一致,如何解决?

    <select id="findUserInfoListForMap"    resultMap="BaseResultMap">  SELECT  ...

  9. 提高PHP开发质量的36个方法(精品)

    提高PHP开发质量的36个方法 林涛 发表于:2016-3-25 0:00 分类:26点 标签: 62次 1.不要使用相对路径 常常会看到: require_once('../../lib/some_ ...

  10. C# 中的弱引用 WeakReference

    C#中的弱引用(WeakReference)   我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的.我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET ...