使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name.

USE [master]

GO

IF EXISTS (SELECT srv.NAME 

           FROM   sys.servers srv 

           WHERE  srv.server_id != 0 

                  AND srv.NAME = N'MES_DB_LINK_TEST') 

  EXEC master.dbo.Sp_dropserver 

    @server=N'MES_DB_LINK_TEST', 

    @droplogins='droplogins' 

 

go 

 

EXEC master.dbo.Sp_addlinkedserver 

  @server = N'MES_DB_LINK_TEST', 

  @provider=N'SQLNCLI', 

  @datasrc=N'192.168.xxx.xxx', 

  @catalog=N'TEST' 

 

EXEC master.dbo.Sp_addlinkedsrvlogin 

  @rmtsrvname=N'MES_DB_LINK_TEST', 

  @useself=N'False', 

  @locallogin=NULL, 

  @rmtuser=N'tuser', 

  @rmtpassword='123456' 

 

go 

消息 15429,级别 16,状态 1,过程 sp_addlinkedserver,第 45 行

'(null)' is an invalid product name.

出现如上错误,是因为这个是SQL Server Management Studio 的一个bug来的。它逆向生成脚本时,生成的脚本少了一些参数,所以你执行脚本时就会报上述错误。这个bug已经在SQL Server Management Studio 2012解决了,你用SSMS 2012逆向生成脚本就会发现会多一个参数@srvproduct

USE [master] 

 

go 

 

IF EXISTS (SELECT srv.NAME 

           FROM   sys.servers srv 

           WHERE  srv.server_id != 0 

                  AND srv.NAME = N'MES_DB_LINK_TEST') 

  EXEC master.dbo.Sp_dropserver 

    @server=N'MES_DB_LINK_TEST', 

    @droplogins='droplogins' 

 

go 

 

EXEC master.dbo.Sp_addlinkedserver 

  @server = N'MES_DB_LINK_TEST', 

  @srvproduct=N'', 

  @provider=N'SQLNCLI', 

  @datasrc=N'192.168.xxx.xxx', 

  @catalog=N'TEST' 

 

EXEC master.dbo.Sp_addlinkedsrvlogin 

  @rmtsrvname=N'MES_DB_LINK_TEST', 

  @useself=N'False', 

  @locallogin=NULL, 

  @rmtuser=N'tuser', 

  @rmtpassword='123456' 

 

go 

 

参考资料:

https://connect.microsoft.com/SQLServer/feedback/details/712415/create-script-generated-for-linked-server-via-ssms-is-not-usable

sp_addlinkedserver '(null)' is an invalid product name的更多相关文章

  1. mysql 修改列为not null报错Invalid use of NULL value

    场景:mysql 给表新增parent_id列,并设置为not null,保存时报错Invalid use of NULL value. 报错原因:因为已存在的数据的parent_id列为null,与 ...

  2. SQL Sever 博客文章目录(2016-07-06更新)

    SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理.归纳一下下.方便自己和他人查看. MS SQL 数据类型 三大数据库对比研究系列--数据类型 MS SQL 表和视图 ...

  3. In-App Purchase Programming Guide----(三) ----Retrieving Product Information

    Retrieving Product Information In the first part of the purchase process, your app retrieves informa ...

  4. 03.product.js

    /* item.jd.com Compressed by uglify Author:keelii Date: 2014-08-05 6:52:26 [PM] */ function insertSc ...

  5. invalid conversion from 'void* (*)()' to 'void* (*)(void*)'

    void *thread1() ], NULL, thread1, NULL)) != ) 提示:invalid conversion from 'void* (*)()' to 'void* (*) ...

  6. 集合学习之"将集合对象List<Product>转换为Map"

    将集合对象List<Product>转换为Map key = Product对象的sku value =Product对象 1 List<Product> products = ...

  7. A Simple MVVM Example[Forward]

    In my opinion, if you are using WPF or Silverlight you should be using the MVVM design pattern. It i ...

  8. Get started with Google Analytics

    What is Google Analytics Google Analytics is a Google official analytics tool that is primarily used ...

  9. Asp.Net Core微服务再体验

    ASP.Net Core的基本配置 .在VS中调试的时候有很多修改Web应用运行端口的方法.但是在开发.调试微服务应用的时候可能需要同时在不同端口上开启多个服务器的实例,因此下面主要看看如何通过命令行 ...

随机推荐

  1. (二十一)WebGIS中鹰眼的实现思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 鹰眼功能是WebGIS中的一种常见功能,利用一些开源的框架实现 ...

  2. Spinner控件

    首先在XML文件中声明一个Spinner控件: <Spinner android:id="@+id/spinnerId" android:layout_width=" ...

  3. c++局部变量经典举例

    局部变量: 在函数内部声明的变量为局部变量,局部变量的意思即该变量只存活在该函数中,假如该函数调用结束,那么该变量的寿命也结束了. 举例: #include<iostream> using ...

  4. Android测试提升效率批处理脚本(二)

    前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...

  5. web前端学习随笔

    为什么是随笔 好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随 ...

  6. mybatis入门基础(七)----延迟加载

    一.什么是延迟加载 resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: ...

  7. Android声音播放实例代码

    布局文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=&q ...

  8. mobileControls与移动控件适配

    此配置节的作用在于指定各种控件在不同类型的移动设备显示的适配器,以达到适应各种设备不同的展示形式.例子如下, <mobileControls sessionStateHistorySize=&q ...

  9. java Byte[] to String(hex)

    1. 字节数组转换成16进制字符展示 2.代码 package com.goodfan; public class ByteArrayToString { private static char[] ...

  10. spring入门(七)【springMVC返回json串】

    现在多数的应用为了提高交互性多使用异步刷新,即在不刷新整个页面的情况下,只刷新局部,局部刷新用得最多就是ajax,ajax和后台进行交互的数据格式使用的最多的是JSON,这里简单描述,在springm ...