zoukankan      html  css  js  c++  java
  • SQL Server 2014下@@SERVERNAME返回NULL值浅析

    开发同事反馈在一台开发服务器(SQL Server 2014 Developer Edition (64-bit) 12.0.6024.0)上,配置函数@@SERVERNAME返回NULL值。如下截图所示

     

     

    clip_image001

     

    其实出现这种问题,配置函数@@SERVERNAME返回NULL,一般是系统视图sys.servers或sys.sysservers中没有server_id=0的记录,检查这些系统视图,也确实发现没有server_id=0的记录。现在也不清楚谁在上面折腾啥了。

     

    SELECT * FROM sys.sysservers WHERE srvid=0;
    SELECT * FROM sys.servers WHERE server_id=0;

     

    那么就新增一条这个记录吧。

     

    DECLARE @server sysname;
    SET @server=CAST(SERVERPROPERTY('servername') AS sysname);
    EXEC sp_addserver  @server=@server,@local='LOCAL';

     

       执行上面脚本报错,具体错误如下所示,检查发现原来有开发同事新增了一个链接服务器(LINKE Server),它的名字跟服务器命一致。

     

    Msg 15015, Level 16, State 1, Procedure sp_dropserver, Line 63

    The server '(null)' does not exist. Use sp_helpserver to show available servers.

    Msg 15028, Level 16, State 1, Procedure sp_addserver, Line 95

    The server 'xxxx' already exists.

     

    删除了这个不知哪位同事创建的链接服务器,然后后面执行上面脚本后,重启SQL Server服务后问题搞定。

     

    USE [master]
    GO
    EXEC master.dbo.sp_dropserver @server=N'xxx', @droplogins='droplogins'--用具体链接服务器替换xxx
    GO
  • 相关阅读:
    【3.1】学习C++之再逢const
    【8】学习C++之this指针
    【7】学习C++之类的构造函数
    【6】学习C++之类的实例化及访问
    【5】学习C++之类的概念
    【4】学习C++之内存管理
    【3】学习C++之const关键字的使用
    【2】学习C++之引用
    【C#第一天】数据相关
    【1】学习C++时,一些零散知识点01
  • 原文地址:https://www.cnblogs.com/kerrycode/p/14010025.html
Copyright © 2011-2022 走看看