【问题标题】:Two Admin accounts for SQL ServerSQL Server 的两个管理员帐户
【发布时间】:2011-02-17 10:38:51
【问题描述】:

我在两个系统上安装了 windows xp。在一台机器上我安装了 sql server 2005 express。 现在从与第一台机器在 LAN 上的另一台机器上,我将访问 sql server 以通过 .net 应用程序插入数据。我的服务器实例是 A-9。 我创建了别名:A-9-1。我的连接字符串是:

conn.ConnectionString= "数据源=A-9-1 ; Trusted_Connection =true "; -- 这是使用 windows 身份验证。我的 windows 用户名是 Admin,没有任何密码。

现在,当我从客户端机器连接到机器 1 上的 sql server 时,出现错误消息:A-9\Guest 登录失败。

我也不能从客户端机器以管理员身份连接到 sql,即使用 Windows 身份验证。意思是,sql server 会有两个管理员。一个是服务器机器上的 A-9\Admin,另一个是客户端机器上的 A-9-1\Admin。 这可能吗?

实际上我想给客户端机器用户所有的权限,对于 sql 数据库,他可以创建登录名、用户、数据库、表、插入数据、授予权限和做所有事情。

还有,

【问题讨论】:

  • 客户端机器在同一个网络上吗?我假设它是基于您说他们通过 LAN 连接的其他问题。
  • 是的先生,客户端机器与服务器机器在局域网上

标签: .net sql tcp connection-string administration


【解决方案1】:

1) 您可以根据需要在 SQL Server 中设置任意数量的登录名。这包括数据库的所有者权限。

2) 如果您想授予对 ANY 客户端计算机的访问权限,请在数据库的安全性下添加 A-9\Guest 作为登录名。然后赋予他们适当的权利。

请注意,这将为连接到服务器计算机的任何人提供您为 A-9\Guest 指定的权限。

3) 不会有第二个名为 A-9-1\Admin 的管理员。由于听起来您没有在网络中的域上使用 Active Directory,因此服务器无法知道客户端计算机的用户/登录名是什么。这就是您看到错误的原因:A-9\Guest 登录失败。听起来 A-9-1 是连接的名称,但不是机器/域。

在您的场景中,您最好只使用 SQL 身份验证并为客户端计算机设置用户名和密码以用于访问。

编辑

一些 Active Directory 链接:

警告:虽然设置 AD 并不“难”,但它是一个需要计划的涉及过程。 *

AD Quick Start Set Up Guide

Google Search for setting up active directory

我仍然认为使用 SQL 身份验证会更好。 :)

【讨论】:

  • 我很确定只有在使用 Active Directory 并且两台计算机都在同一个域上时才能这样做。 Active Directory 允许您在多台不同的计算机上共享域上的登录信息。
  • 当您查看登录时,有两部分域\用户名。如果没有 Active Directory,则域特定于每台计算机并使用单个计算机的名称(如系统属性下的设置)。
  • 没必要。您应该能够使用计算机名称\SQl 实例名称(例如:A-9\MyServerName)连接到它。别名不会以任何方式影响用于连接的登录名。别名只会影响连接字符串中使用的名称。
  • 别名主要用于外部(远程)连接。在装有 SQL Server 的机器上,您应该使用 localhost。尝试在本地连接别名可能会导致环回尝试很可能会失败。导致网络相关实例错误。
  • 您是正确的,因为 mdf 包含 mdf 而 mdf 是 CRUD(创建、读取、更新、删除)操作发生的地方。基本而言,SQL Server 使您能够更好/更轻松地控制对文件的访问,并允许创建维护作业(备份、修剪等)。它允许您做一些更高级的事情,但它们只有在您使用/需要它们时才重要。只使用 mdf 文件没有任何问题,除非您的需要通过使用不带 SQL Server 的 mdf 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多