常见的SSMS问题

[TOC]

问题1:新机器找不到 SSMS 客户端

  • 症状:新安装 SQL Server 2017 找不到 SQL Server Management Studio (SSMS)
  • 解决:SQL Server 2016 及以后的版本,不会集成SSMS,SSMS需要单独安装下载地址

问题2:新开 SSMS 窗口崩溃

  • 症状:2018.05.15.在一台 Windows 2012 R2 的服务器上,在已打开 SSMS 的情况下,新开一个 New Query 窗口则 SSMS 崩溃,如下图示:

1. OS版本:Windows 8.1 或 Windows Server 2012 R2
2. 功能:故障转移集群(Failover Cluster)已安装
3. 服务:Print Spooler 服务已停止
  • 解决:安装 KB2908806 补丁,然后重启服务器
1. 安装 Windows8.1-KB2908806 补丁
2. 重启服务器
3. 禁用 Print Spooler 服务 [可选]

问题3:新开 SSMS 窗口崩溃提示编码

  • 症状:SQL Server 2012 新开一个查询窗口,弹出 编码 窗口,如下图示

  • 解决:安装最新版的 ssms

问题4:对象不能从 DBHull 转换为其他类型 (mscorlib)

  • 症状:在 Windows Server 2012 上通过 SSMS 11.0.3128.0 登录 SQL Server 2012,点击 管理 报错“对象不能从 DBHull 转换为其他类型。(mscorlib)

  • 补充1:在别的服务器上,通过 SSMS 11.0.3128.0 登录这台sql实例也报错,但登录本机实例的管理则正常
  • 补充2:将登录账号的sa权限取消后则ok,只要加上sa权限就报错(添加其他权限不报错)
  • 解决:由于修改了主机名导致 @@ServerName 与 SERVERPROPERTY('ServerName') 不一致,执行 sp_dropserver 与 sp_addserver 重新注册之后重启sql服务生效
SELECT @@ServerName,SERVERPROPERTY('ServerName')
IF @@SERVERNAME <> SERVERPROPERTY('ServerName') 
BEGIN 
    DECLARE @srvname sysname 
    SET @srvname = @@SERVERNAME 
    EXEC sp_dropserver @server = @srvname 
    SET @srvname = CAST( SERVERPROPERTY('ServerName') as sysname) 
    EXEC sp_addserver @server = @srvname , @local = 'LOCAL' 
END
Copyright © www.sqlfans.cn 2024 All Right Reserved更新时间: 2025-02-21 15:18:58

results matching ""

    No results matching ""