Sql 从同一服务器访问另一个数据库?

Sql 从同一服务器访问另一个数据库?,sql,sql-server,Sql,Sql Server,如何从同一服务器访问另一个数据库?使用SELECT@@@SERVERNAME获取服务器名,然后使用SERVERNAME.dbo.mydatabasename.mytablename获取,但查询分析器说对象名无效。有什么想法吗?我在做什么 insert into Myservername.Mydatabasename.Mytablename (Email,Username1) Values ('h','h') 使用MS SQL Server 2008,在同一台服务器上,它不是更像是mydatab

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

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

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

假设您使用的是MS SQL server,则完全限定引用的格式如下:

[servername].[databasename].[schema].[object]
在同一台服务器上,您不需要
[servername]
参考

在您的例子中,您颠倒了
数据库名
模式
。应该是:

servername.mydatabasename.dbo.mytablename

您的插入应该如下所示:

insert into Mydatabasename.Schema.Mytablename
(Email,Username1)
Values ('h','h')
(这里的模式可能是dbo)

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

应为

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

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

您可以发布在查询分析器中得到的确切消息吗?您使用的是什么DBMS?SQL Server?谢谢大家的回复!squillman是正确的,dbo在fqn中的位置不正确