2011-03-03 211 views
1

我们当前使用禁用Windows身份验证的SQL 2008,我们只允许SQL混合访问SQL。SQL Windows身份验证

我们希望将我们的版本控制软件切换到需要Windows身份验证的Team Foundation Server。

最终导致一些问题,我已经与我们的DBA谈过了,Windows身份验证不是一种选择,也不是将SQL放在TFS所在的服务器上。

问题是,从他告诉我的情况来看,您无法仅为单个用户启用Windows身份验证,无论是对所有用户开启还是关闭。

这是正确的吗?还有什么其他选择?

回答

3

您需要与DBA再谈一次。

有2个选项用于验证到SQL Server:

  • Windows身份验证(只)
  • Windows身份验证和SQL Server身份验证

是的,这是事实,如果你打开后者也称为混合模式,它适用于服务器(现在将接受Windows身份验证) - 它的确如此而不是意味着突然所有有效的Windows用户都可以访问到SQL Server !

Windows登录仍然需要添加为SQL用户(SQL登录!= SQL用户[主体]),然后他们可以属于角色等,因此您只需要为TFS添加用户。

事实上,你不可能禁用Windows身份验证 - 所以我不明白为什么DBA应该抱怨“打开”Windows身份验证。


这可能是你需要做什么:

  • 添加新的域组“sqltfs”
  • 创建一个SQL用户从Windows安全集团的“域\ sqltfs”
  • 格兰特所有(或间接地通过角色)需要新的用户访问
  • 所有TFS用户添加到域组“sqltfs”

这种方式,您都可以CONTIN在使用SQL登录的地方(现有代码),同时仍然通过TFS - > SQL Server通过域组成员身份获得访问权限

+0

将向我们的DBA – jaekie 2011-03-03 20:18:01

1

这可能属于超级用户,但我会采取刺。在我的SQL 2008 R2管理控制台中,数据库服务器可以以纯Windows认证模式或混合Windows认证+ SQL认证运行。它不能在SQL身份验证中运行。

既然你说你是混合模式,我看不出为什么他不能将另一个用户添加到使用Windows域帐户而不是本地SQL服务器帐户的数据库。混合模式允许两者。