我通过一些选择代码动态连接到不同的数据库服务器和数据库。 但是,当我进行测试时,我都使用本地计算机服务器完成所有操作。

无论如何,在T-SQL代码中是否明确指定“ LOCALHOST”作为服务器名称? 有点像这样:

SELECT 
 *
FROM
 [LOCALHOST].[DBName].[Schema].[TableName]

它必须存在的原因是因为该值是动态地来自表的。 出于测试目的,我只想将其全部设置为指向本地计算机。

但是,如果我将本地计算机服务器的实际名称放在其中,例如PHILS-PC,则如果我转移到具有自己的SQL Server本地副本的其他开发计算机,则必须更新所有表以使用该名称该本地服务器。 我以为LOCALHOST可以解决这个问题,但是在T-SQL代码中不起作用。 我收到此错误:

在sys.servers中找不到服务器“ LOCALHOST”。 验证是否指定了正确的服务器名称。 如有必要,执行存储过程sp_addlinkedserver将服务器添加到sys.servers。

===============>>#1 票数:0

不,您不必提及localhost。 最初连接到sql服务器时,将确定Localhost上下文。 建立连接后,无论是SSMS还是应用程序代码,都将被视为您的本地主机。

然后,在建立连接的服务器上执行任何执行的代码,该服务器是该查询的本地主机,对于任何跨服务器查询,您将必须使用链接服务器查询

FROM [LinkedServer].[Database].[Schema].[table]

故事的寓意是,您不会在查询中提及Localhost,因为可以理解的是,一旦连接到服务器,您只能执行sql代码,然后您可以在localhost上下文中执行任何操作,这显然是有意义的。

  ask by volume one translate from so

未解决问题?本站智能推荐: