SQL Server 2014下@@SERVERNAME返回NULL值浅析
2020-11-20 11:30 潇湘隐者 阅读(792) 评论(0) 编辑 收藏 举报开发同事反馈在一台开发服务器(SQL Server 2014 Developer Edition (64-bit) 12.0.6024.0)上,配置函数@@SERVERNAME返回NULL值。如下截图所示
其实出现这种问题,配置函数@@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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-11-20 ORACLE中如何查找定位表最后DML操作的时间小结
2014-11-20 ORACLE查看SQL的执行次数/频率