在sys.servers中找不到服务器’DB name’(不是dbo问题)

今天我遇到一个问题,说我的“服务器”无法在sys.servers中找到。 错误是:

Could not find server 'DB name' in sys.servers 

这不是在某些情况下使用前缀而不是其他人使用前缀的问题,就像其他人所拥有的“dbo”问题一样。

如果您尝试从其他服务器访问数据库并收到此消息,则添加链接服务器。 (的sp_addlinkedserver)

如果您尝试在同一服务器上访问您的数据库,请检查它是否已注册。 从sys.sysservers中选择*

在很多情况下,您可以获得此错误,其中许多都包含在StackOverflow中。 但是,在共享服务器上可能特别遇到的一种情况就是数据库名称中包含句点(点)。 例如,如果它的名称是mysite.com_DB 。 这将自动导致问题。

如果无法重命名数据库,解决方案是将数据库名称封装在方括号中,例如:

 mysite.com_DB.Table_name 

将变成:

 [mysite.com_DB].Table_name