从同一台服务器访问另一个数据

时间:2014-04-25 13:01:23

标签: sql sql-server

如何从同一台服务器访问另一个数据库?使用SELECT @@ SERVERNAME获取服务器名称,然后执行servername.dbo.mydatabasename.mytablename,但查询分析器显示无效的对象名称。有任何想法吗?我在做什么

insert into Myservername.Mydatabasename.Mytablename
(Email,Username1)
Values
('h','h')

在同一台服务器上使用MS SQL Server 2008

3 个答案:

答案 0 :(得分:3)

假设您正在使用MS SQL Server,则完全限定的引用的格式为:

[servername].[databasename].[schema].[object]

在同一台服务器上,您不需要[servername]参考。

在您的情况下,您撤消了databasenameschema。它应该是:

servername.mydatabasename.dbo.mytablename

您的INSERT应如下所示:

insert into Mydatabasename.Schema.Mytablename
(Email,Username1)
Values ('h','h')

(可能你的架构是dbo)

在跨链接服务器执行操作时,您将包含[servername]组件,在这种情况下,[servername]将是链接服务器的名称,这实际上可能与主机名实际上不同/远程服务器的实例名称。

答案 1 :(得分:2)

不是mydatabasename.DBO.mytablename吗?如果您的数据库位于同一台服务器上,则通常不必使用servername

答案 2 :(得分:2)

应该是

insert into Myservername.Mydatabasename.MySchema.Mytablename
  (Email,Username1)
Values
  ('h','h')

虽然您在同一台服务器上但不需要Myservername。在使用三部分表示法的示例中,假设Mydatabasename是模式;因此错误