数据库服务器疑难解答
以下针对用户在使用数据库服务器或数据库服务器上的地理数据库时可能遇到的问题提供了建议解决方案。
错误:无法连接到此数据服务器...SQL Server 不存在或访问被拒绝。
收到该错误消息的可能原因有:
- 如果尚未启动 SQL Server Express 实例,则远程客户端将无法找到它。
- 如果从未在数据库服务器上设置用户帐户,或者用户帐户已从数据库服务器中移除,将无法查询或连接它。
- 远程客户端必须具有与 SQL Server Express 实例通信的方式。如果未设置网络协议,将不会设置该通信方法,并且无法通过网络与实例建立连接。
- 接收来自 SQL Server 客户端的请求时,SQL Server Browser 服务将提供有关安装在计算机上的 SQL Server 实例的信息。如果 SQL Browser 被禁用,客户端将收不到用于每个已安装 SQL Server 实例的名称和端口,因此,也就无法找到该实例。
修复:
首先,请确保要尝试连接的数据库服务器已启动。如果它已启动,请确认您具有远程访问此数据库服务器的权限。如果数据库服务器已启动,并且您具有对其进行连接和查询的权限,则可能未启用数据库服务器上的网络协议。要重新启用网络协议,请进行以下操作:
- 打开 Microsoft SQL Server 配置管理器。可从“开始”>“所有程序”>“Microsoft SQL Server”>“配置工具”中进行访问。
- 展开树中的 SQL Server 网络配置,然后单击 SQL Server 实例的协议。
- 右键单击 TCP/IP 协议,然后单击启用。
将收到以下警告消息:
Any changes made will be saved; however, they will not take effect until the service is stopped and restarted.
停止并重新启动服务。如果网络协议已启用,但仍无法从远程客户端连接到数据库服务器,则可能是 SQL Server Browser 服务已停止。要启动 SQL Server Browser 服务:
- 打开 Microsoft SQL Server 配置管理器。
- 单击 SQL Server 图标以查看 SQL Server Browser 服务。
- 如果 SQL Server Browser 的状态为暂停,请右键单击它,然后单击恢复。如果 SQL Server Browser 的状态为停止,请右键单击它,然后单击启动。
如果在右键单击 SQL Server Browser 时除属性和帮助外的所有快捷菜单选项都被禁用,说明 SQL Server Browser 启动模式被设为“已禁用”。要对此进行更改,请执行以下步骤:
- 右键单击 SQL Server Browser,然后单击属性。
- 单击服务选项卡。
- 单击启动模式。
- 从下拉菜单中选择自动或手动。将启动模式设为“自动”意味着 SQL Server Browser 服务将在重新启动计算机时自动启动。
- 单击确定。
现在,右键单击 SQL Server Browser 服务时,启动应为可用选项。
错误:不能产生 SSPI 上下文
收到该错误消息的可能原因有:
如果在便携式计算机上工作并且使用域凭据登录,但实际上未连接到该域,则经常会遇到此错误。这种情况可能出现于您在客户端站点(与用户网络相对而言)进行连接,或者使用便携式计算机时根本未连接到网络(如在野外工作)。这与 TCP/IP 网络协议和 Windows 身份验证相关。也可以登录 Microsoft 网站,以获取关于如何解答“不能产生 SSPI 上下文”错误消息的知识库文章。
修复/解决办法:
在本地计算机(添加数据库服务器)上使用 TCP/IP 环回(而不是域名)127.0.0.1 创建到数据库服务器的连接;例如:127.0.0.1\sqlexpress。
只要在本地计算机上安装了数据库服务器(SQL Server Express 实例),这种方法就有效。
错误:无法连接到数据库 基础 DBMS 错误(Microsoft OLE DB Provider for SQL Server。用户“<用户名>”登录失败。该用户与可信 SQL Server 连接无关联。)
收到该错误消息的可能原因有:
如果已在“系统环境变量”中设置环境变量 SDEUSER 或 SDEPASSWORD,则在连接到地理数据库时,它们将优先于 Windows 登录帐户。如果想要从该计算机连接到数据库服务器上的地理数据库,或者想要使用操作系统身份验证连接到企业级地理数据库,请不要设置这些变量。
修复:
确保未在所连接的客户端计算机上设置 SDEUSER 或 SDEPASSWORD 环境变量。
错误:添加要素类失败。<要素类名称> 处于只加载模式,在此状态下无法作为图层添加。
收到该错误消息的可能原因有:
如果数据集的空间格网大小设为 0 而您尝试将其导入地理数据库,则导入将失败,而数据集会一直处于只加载输入/输出 (I/O) 模式。重新计算或删除和重新创建空间索引可以使要素类重新恢复正常 I/O 模式,然后应该就能使用它。
修复/解决办法:
重新计算或重新创建要素类的空间索引。
- 在目录树中,右键单击处于只加载模式的要素类,单击属性,然后单击要素类属性对话框上的索引选项卡。
- 如果要素类使用 SQL Server 几何进行几何存储,则可以重新计算索引。在空间索引部分中,单击重新计算。如果要素类使用二进制数据类型或 SQL Server 几何数据类型进行几何存储,则重新创建空间索引。在空间索引部分中,单击删除,然后单击创建重新创建空间索引。
- 单击确定关闭要素类属性 对话框。
问题:尽管连接的用户已被添加到服务器计算机上的 Windows 管理员组,但是此用户仍没有访问数据库服务器管理任务(例如,新建地理数据库、恢复或权限)的权限。
Windows 管理员无法执行服务器管理员任务的原因有:
Windows Vista、Windows 7 和 Windows 2008 Server 计算机已默认启用了 UAC。这会强制采用更严格的安全模型,即 Windows 管理员不会自动成为 SQL Server 数据库中的 sysadmin。对于习惯于访问数据库服务器或 Windows XP/Windows 2003 Server 计算机上的其他 SQL Server 实例的用户来说,他们可能已习惯于这些操作系统上的默认行为,并且可能已忘记必须执行必要的步骤才能向数据库服务器添加其他服务器管理员登录帐户。
修复:
禁用服务器计算机上的用户访问控制 (UAC),或者以管理员用户(在安装用来存储地理数据库的 SQL Server Express 实例时,该管理员用户已添加到 ArcSDE 数据库服务器)身份登录、向数据库服务器添加所需用户并授予他/她服务器管理员权限。
错误:登录用户不正确
收到该错误消息的可能原因有:
很可能是您尝试使用经数据库验证的用户名和密码连接到数据库服务器上的地理数据库。
修复:
与数据库服务器上地理数据库的连接仅采用经 Windows 验证的登录帐户。因此,使用有效的 Windows 登录帐户登录时,在“空间数据库连接”对话框中选择操作系统身份验证选项。
错误:登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用。
收到该错误消息的可能原因有:
- 使用本地 Windows 帐户登录时,尝试连接到远程数据库服务器上的地理数据库。
- 尝试使用尚未添加到数据库服务器的域帐户连接到数据库服务器上的地理数据库。
修复:
使用服务器管理员已添加到数据库服务器的域帐户登录客户端计算机。
错误:试图通过与 SQL Server 数据库服务器不兼容的旧版 SQL Server 客户端通信软件进行连接
收到该错误消息的原因:
连接到地理数据库的客户端计算机未安装受支持的 Microsoft SQL Native Client 版本。
修复:
在客户端计算机安装与您正使用的 SQL Server Express 版本兼容的 SQL Native Client 应用程序版本。