从其他服务器访问数据库对象时,我使用[server]。[数据库名称]。[模式名称] .object_name
但是如果mssql数据库服务器的服务名称与默认服务名称不同(即MSSQLServer2008R2),那么如何访问数据库对象?会是什么语法?
答案 0 :(得分:2)
看起来你在这里混淆了几件不同的事情。
实例名称是您在安装SQL Server时提供的名称。如果您没有提供实例名称,那么您安装了一个没有名称的默认实例。请参阅有关实例here的文档。您可以使用ServerName
访问默认实例,但要访问命名实例,您需要使用ServerName\InstanceName
。
每个SQL Server实例都有一个运行它的Windows 服务;默认情况下,该实体名称由实例名称组成。这些是您在Windows服务列表或SQL Server配置管理器中看到的服务。
最后,当您使用四部分命名访问另一台服务器上的数据库时,在创建链接服务器时定义链接服务器名称。您提供的服务器名称不一定必须与远程服务器的实例名称相同;它可以是你喜欢的任何东西。请参阅sp_addlinkedserver
here的文档。
您的问题似乎在问:“另一台服务器上命名实例的正确链接服务器名称是什么?”。我链接到sp_addlinkedserver
的文档中的示例A显示了如何创建到SQL Server命名实例的链接服务器,我认为这可能是您真正的问题。