值不能为null,参数名称:viewInfo

问题描述 投票:22回答:13

将SP2安装到现有SQL Server 2008 R2后,我失去了对所有数据库的访问权限,并开始面对屏幕截图中的错误。

有任何想法吗?

sql-server sql-server-2008 ssms
13个回答
32
投票

检查Temp和TMP的环境值。

C:\Users\buck>set t

TEMP=C:\Users\buck\AppData\Local\Temp\2

TMP=C:\Users\buck\AppData\Local\Temp\2

确保列出的目录存在,并且您的id具有写入该目录的适当权限。或者,通过控制面板(Control Panel-> System and Security-> System -> Advanced system settings),您可以更改分配给TEMP和TMP的默认目录。


0
投票

我收到了这个确切的错误,并认为我已经开始运行修复了。

那么修复并没有解决问题但它确实告诉我它无法访问C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG中的machine.config - 发现它不存在!还有另一个文件machine.config.default

所以有一个抄袭,重命名为.config和中提琴解决它,一切都像冠军一样工作。


0
投票

我在SSMS中遇到了同样的错误,我找到了this link并按照它提到的步骤进行操作。

访问设置文件的内容时出现问题。该文件包含无效条目。这个文件是CurrentSettings-。对此的修复如下所示:

  1. 在服务器上转到开始菜单 - >您的配置文件 - >文档 - > SQL Server Management Studio->设置(这是上面指定的文件的位置)
  2. 删除此文件夹中的所有文件
  3. 重启sqlserver服务
  4. 启动SSMS,此错误消失了。您将能够展开所有文件夹并执行常规SSMS活动,而不会出现此错误。

一旦我执行了这些步骤并重新启动了我的电脑,这个错误就消失了,SSMS工作正常。


0
投票

我刚刚面对这个问题,并在5分钟后立即解决了。只需转到程序上的控制面板和运行故障排除工具。

**PATH** Control Panel\All Control Panel Items\Troubleshooting\Programs

它将为您提供可能存在任何问题的已安装程序列表。向下滚动该列表并找到“SQL Server Management Studio”并对其运行故障排除过程。它有望解决你的问题。


0
投票

我多次收到这些消息,并且每次通过不同的解决方案解决这些消息。

  1. 解决方案:从临时文件夹清除缓存,按windows + R =>键入“%temp%”=>删除临时文件夹中的所有文件...并尝试天气工作并成功打开ssms
  2. 解决方案:在上面提到的临时文件夹位置创建名为“2”的文件夹...并尝试天气工作并成功打开ssms。
  3. 解决方案:在上面提到的临时文件夹位置创建名为“4”的文件夹...并尝试天气工作并成功打开ssms。
  4. 解决方案:这可能是因为安装了驱动器ssms的磁盘空间不足...所以释放一些空间...并尝试天气它工作并成功打开ssms。
  5. 解决方案:格式是最后的解决方案......

21
投票

当我看到这个问题时,通常是因为安装了SSMS的驱动器的可用空间不足。删除一些旧的日志文件可以解决问题。

在进行重新安装之前,进行快速检查可能是值得的。


11
投票

我在您的远程共享服务器上遇到此错误。原来你的C盘没有留下任何空间。

我通过让我的同事关闭他的SQL Server Management Studio会话并立即清理7 GB来实现它!我可以登录了! Woot woot!


2
投票

一个快速的谷歌建议,显然这是一个有点普遍的问题。看起来它不是SQL Server本身的问题,但实际上是.NET问题我找到的最常见(和快速)解决方案是重新安装SSMS。


2
投票

右键单击SSMS图标,然后单击“以管理员身份运行”。在SSMS控制台上,单击“数据库”树节点验证错误是否已消失。现在应该永久修复错误,您不再需要以管理员身份运行SSMS。下次正常启动SSMS,它应该工作正常。


2
投票

遇到这种情况时,我发现它与环境临时文件夹(TMP Temp)有关。

我曾尝试将“2”文件夹添加到此位置但没有成功。 C:\Users\USER\AppData\Local\Temp\2

尝试在文件资源管理器中键入%temp%,看看它是否将您带到有效位置。我发现我收到错误,因为它试图进入“4”位置。 C:\Users\USER\AppData\Local\Temp\4

我在Temp文件夹中创建了一个名为“4”的文件夹,重新启动了SSMS,它又开始工作了。


1
投票

我发现如果你在sql集群上升级iseries odbc驱动程序。很多时候你会遇到这个问题。在32位和64位文件夹中重命名machine.config就可以了。我们目前从版本12或6.1升级到7.1或13,因为版本12导致我们的一个SQL实例上的错误检查。升级了,问题全部消失了。

干杯,


1
投票

根据以下链接:https://connect.microsoft.com/SQLServer/feedback/details/573771/value-cannot-be-null

我刚刚检查过我的用户是本地管理员,然后我注销并重新登录。 在那一步之后,我没有再次收到此错误。


1
投票

更改临时变量无法解决。安装SMMS的驱动器有34%的可用空间。

但是,使用Run > %temp% > it会出错"C:\%username%\appdata\local\temp\4 was missing"(这不在我的TEMP/TMP变量中列出)。

快速解决方案是在c:\%username%\appdata\local\temp\中添加“4”的子文件夹,现在能够毫无问题地打开SMMS。

© www.soinside.com 2019 - 2024. All rights reserved.