无法在远程SQL Server实例中看到* all *数据库

时间:2010-05-22 17:08:49

标签: sql-server

我可以连接到远程SQL 2008 Server实例,但是我无法使用SQL Server 2008 Management Studio查看实例中的所有数据库。

我怀疑我的问题与远程实例中并非所有数据库都具有相同版本有关。例如,我通过从2005年开始备份并将其导入2008年,将2005年数据库“升级”为2008年。

当我意识到这不是我从其他PC上看到的数据库之一时,我注意到导入的兼容级别仍然是2005,所以我将其更改为2008.仍然无法看到数据库

在该远程服务器上,实例节点名为“sql2008”,并且是“版本10”。

当我从本地PC连接到sql2008远程实例时,该连接在本地显示为“SQL Server Version 8.0”实例。

我怀疑在本地,我只是在远程2008实例中显示的数据库,但尚未升级。

我想我不知道升级数据库的构成是什么,我不知道如何连接以查看所有数据库,即使这需要来自源PC的多个连接。

本地计算机是Windows 7旗舰版。远程主机是Windows XP专业版。

Related - 无法看到SQL Server 2008实例。

更新

这是我在使用Mgt Studio的远程服务器上看到的,即SQL 2008实例和2000实例。

alt text

当我登录SQL 2008实例并执行以下查询

选择    @@ VERSION作为版本,    SERVERPROPERTY('ComputerNamePhysicalNetBIOS')作为ComputerNamePhysicalNetBIOS,    SERVERPROPERTY('ServerName')作为ServerName,    SERVERPROPERTY('MachineName')As MachineName

结果重新确认上面显示的版本为10的2008b实例是2008实例:

    Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)   Mar 29 2009 10:27:29   Copyright (c) 1988-2008 Microsoft Corporation  Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3) 

USPL-DOKMANC2   USPL-DOKMANC2\SQL2008B  USPL-DOKMANC2

好的,现在从我的LOCAL框中,我使用SQL Mgt Studio尝试连接到USPL-DOKMANC2(远程盒子)。

alt text http://content.screencast.com/users/Dokmanc/folders/Jing/media/ec146f56-5651-4968-9286-82508dc5d3b2/2010-05-22_1426.png

...我连接到遥控器没有端口我收到此错误:

alt text http://content.screencast.com/users/Dokmanc/folders/Jing/media/d3c5bc46-c286-4708-a2f5-282fc76124cb/2010-05-22_1427.png

但是如果我进入DEFAULT端口,我就可以连接了。请注意,我刚刚添加的SQL2008连接显示为版本“8”(SQL 2000)。 alt text http://content.screencast.com/users/Dokmanc/folders/Jing/media/ea80af5e-4a1f-4417-9327-0b76476b4d14/2010-05-22_1426.png

我似乎再次连接到我的SQL2000实例,即使我在我的连接params中指定连接到SQL2008b,一个2008实例。

我似乎无法在uspl-dokmanc2上看到我的远程2008实例。我一直在sql2008b下显示我的2000默认实例数据库。

第二次更新:

根据下面的excellenf反馈,在尝试连接并从指定端口确定实例时,SQL很可能忽略实例的名称。现在我只需要知道运行SQL2008b实例的端口。我希望SQL管理配置会告诉我。端口是空白的。这是否意味着默认端口?对于2008年会是什么,而不是我已经有另一个2008年的实例,所以如果它们都必须有单独的端口,那么2008年的正常默认值可能不是它。

这是我在SQL管理配置中看到的2008b实例。没有提到端口:

alt text

2 个答案:

答案 0 :(得分:5)

远程实例(8.0)是SQL Server 2000实例

没有与可见性或权限相关的“数据库版本”这样的概念:给定服务器上的每个数据库(包括版本,SP和修补程序)都在某个内部版本。这就是您无法将SQL Server 2008数据库还原或附加到SQL Server 2005

的原因

我会运行此操作以获取完整的详细信息

SELECT
   @@VERSION,
   SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
   SERVERPROPERTY('ServerName'),
   SERVERPROPERTY('MachineName')

例如,您可能有一个客户端别名,这意味着您正在连接到错误的服务器。

此外,您必须明确DENY ANY VIEW DATABASE TO public来“隐藏”数据库

答案 1 :(得分:2)

您确定2008年的实例使用1433端口吗?在大多数情况下,MS SQL似乎忽略了实例的名称并与给定端口连接。使用配置管理器检查端口。

此外,检查远程计算机上是否有SQL浏览器可用 - 您必须在UDP上添加1434到防火墙设置。请记住确保SQL浏览器当然正在您的服务器上运行。请参阅:http://support.microsoft.com/kb/914277