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

Ynh*_*key 5 c# sql-server-2008

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

Could not find server 'DB name' in sys.servers
Run Code Online (Sandbox Code Playgroud)

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

小智 7

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

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


Ynh*_*key 5

在很多情况下,您都会遇到此错误,并且StackOverflow涵盖了许多情况。但是,在共享服务器上尤其可能遇到的一种情况就是,数据库名称中带有句点(点)。例如,如果其名称为mysite.com_DB。这将自动导致问题。

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

mysite.com_DB.Table_name
Run Code Online (Sandbox Code Playgroud)

将变成:

[mysite.com_DB].Table_name
Run Code Online (Sandbox Code Playgroud)