使用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. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  2. 【Java】子类的链式调用

    记录最近在项目设计中遇到的一个小问题. 前提:有这样两个POJO类,它们都可以通过链式调用的方式来设置其属性值,其中一个类继承了另一个类. 问题:通过链式调用,子类对象访问父类方法后,如何使返回对象仍 ...

  3. CentOS6.5网络设置

    CentOS6.5网络设置 不知道哪里做错了,长时间无法连接网络,百度了各种还是不可以.最后自己提取了以前可以联网的配置粘贴过来,成功.配置文件内容如下: vim /etc/resolv.conf 1 ...

  4. Sql Server函数全解(一)字符串函数

    字符串函数用于对字符和二进制字符进行各种操作 1.ASCII()函数  ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值.参数character ...

  5. 简析.NET Core 以及与 .NET Framework的关系

    简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...

  6. html自我设计login登录

    效果图如下: 第一次设计出能看的前台,就当留作纪念吧.

  7. C#中正则表达式在replace中的应用!

    多少年来,许多的编程语言和工具都包含对正则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容.     此外, ...

  8. Codeforces Round #376A (div2)

    Night at the Museum 题意: 有一个转盘,26个英文字母均匀分布在转盘边缘,转针初始位置在字母a,每次只能转动到相邻的字母,然后输入一个由26个字母组成的字符串(最长100),不复位 ...

  9. 【转】mysql_fetch_row , mysql_fetch_array , mysql_fetch_assoc 的区别

    <?php $link = mysql_connect('localhost', 'root', ”); mysql_select_db('abc', $link); $sql = “selec ...

  10. python基础之迭代器、装饰器、软件开发目录结构规范

    生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大 ...