SQL Server中的列名完全合格的名称



我在sql Server文档中读取了我可以在简单选择查询的子句中指定列名。但是,当我尝试运行此查询时:

select * from my_db.dbo.test_table.test;

我有以下错误:

msg 7202,第11级,状态2,第1行无法找到服务器'my_db' Sys.Servers。验证是否指定了正确的服务器名称。如果 需要,执行存储过程sp_addlinkedserver添加 服务器到sys.servers。

我知道这是一个T-SQL页面,我正在尝试运行。

为什么会发生这种情况?

我还通过Microsoft SQL Server Management Studio 2017使用SQL Server版本2017。

尝试从此

重写
select * from my_db.dbo.test_table.test;

到这个

select test_table.test,* from my_db.dbo.test_table;

它写的方式是多个时期,假设您正在尝试充分限定表格

my db = linked server (a server other than the Server you are working on)
dbo = Schema (which is correct)
test_table = Table (Also correct)
test = just plain erroror

您要显示的字段应直接遵循关键字选择,因此,如果您只想要2个字段,则可以编写

select test,test2 from my_db.dbo.test_table;

或更简单,如果您只有一台服务器

select test,test2 from dbo.test_table;

,或者,如果您只有defailt schema dbo(数据库基础所有者(

select test,test2 from test_table;

我希望thaelps

您无法在FROM子句中指定列,但是您可以在SELECT子句中指定列。

select test from my_db.dbo.test_table

请运行sp_addlinkedserversp_addlinkedsrvlogin SPS:

EXEC sp_addlinkedserver @server='MyLinkedServer'
EXEC sp_addlinkedsrvlogin 'MyLinkedServer', 'false', NULL, 'MyUserName', 'MyPassword'

之后,您可以尝试运行:select * from my_db.dbo.test_table

参考:https://blog.sqlauthority.com/2014/08/26/sql-server-fix-eror-7202-could-not-not-not-not-not-not-not-find-server-in-sys-sys-sys-serser-serser-verify--Correct-server-name-was指定/

此外,即使是SQL Server 2014相关的可能会有所帮助,请查看:在SYS.Servers中找不到"服务器名称"。SQL Server 2014

相关内容

  • 没有找到相关文章

最新更新