我正在使用 SQL Server Express 2014,目前 Windows 身份验证存在一个(可能)非常愚蠢的问题。我有一台 AD 服务器、一台 MS-SQL 服务器和一台客户端,其中所有内容都是从头安装以在虚拟机中进行测试。
我想要通过 Active Directory 进行访问。
- 我进入 SQL Server 管理工作室
- 在“安全/连接”中,我添加了新用户
- 在添加他的连接时,我将他映射到我的数据库作为 db_datareader 和 db_datawriter
- 在我的数据库属性中,我检查用户是否确实具有至少 CONNECT、SELECT、INSERT、UPDATE、DELETE 的显式权限,并且他确实具有
我使用一个非常小的 VBA 宏(在 Microsoft Office 中)测试我的设置,如下所示:
Sub OpenConn()
Dim ConnString As String
Dim DB_Address As String
Dim DB_Name As String
DB_Address = "Computer1\SQLEXPRESS"
DB_Name = "MyDB"
ConnString = "Provider=SQLOLEDB;Data Source=" & DB_Address & ";" & _
"Initial Catalog=" & DB_Name & ";" & _
"Integrated Security=SSPI;"
Set DB = New ADODB.Connection
DB.Open ConnString
End Sub
对于安装了 SQL Express 的用户,它运行完美。(我正在做一个小 SELECT 作为测试,并且按预期工作)
对于我之前添加的用户,它告诉我我的服务器无法加入。
奇怪的是,当我检查 SQL Server 中的连接日志时,它告诉我连接成功。
使用安装服务器的帐户记录我的连接成功情况(抱歉,该日志是法语的)
08/12/2015 23:52:11,Microsoft-Windows-Security-Auditing,Réussite de l'audit,L’ouverture de session d’un compte s’est correctement déroulée.<nl/><nl/>Sujet :<nl/> ID de sécurité : S-1-0-0<nl/> Nom du compte : -<nl/> Domaine du compte : -<nl/> ID d’ouverture de session : 0x0<nl/><nl/>Type d’ouverture de session : 3<nl/><nl/>Nouvelle ouverture de session :<nl/> ID de sécurité : S-1-5-21-2814706995-1848420457-3208371447-1105<nl/> Nom du compte : cgl<nl/> Domaine du compte : TEST<nl/> ID d’ouverture de session : 0x53172f<nl/> GUID d’ouverture de session : {00000000-0000-0000-0000-000000000000}<nl/><nl/>Informations sur le processus :<nl/> ID du processus : 0x0<nl/> Nom du processus : -<nl/><nl/>Informations sur le réseau :<nl/> Nom de la station de travail : COMP2<nl/> Adresse du réseau source : -<nl/> Port source : -<nl/><nl/>Informations détaillées sur l’authentification :<nl/> Processus d’ouverture de session : NtLmSsp <nl/> Package d’authentification : NTLM<nl/> Services en transit : -<nl/> Nom du package (NTLM uniquement) : NTLM V2<nl/> Longueur de la clé : 128<nl/><nl/>Cet événement est généré lors de la création d’une ouverture de session. Il est généré sur l’ordinateur sur lequel l’ouverture de session a été effectuée.<nl/><nl/>Le champ Objet indique le compte sur le système local qui a demandé l’ouverture de session. Il s’agit le plus souvent d’un service<c/> comme le service Serveur<c/> ou un processus local tel que Winlogon.exe ou Services.exe.<nl/><nl/>Le champ Type d’ouverture de session indique le type d’ouverture de session qui s’est produit. Les types les plus courants sont 2 (interactif) et 3 (réseau).<nl/><nl/>Le champ Nouvelle ouverture de session indique le compte pour lequel la nouvelle ouverture de session a été créée<c/> par exemple<c/> le compte qui s’est connecté.<nl/><nl/>Les champs relatifs au réseau indiquent la provenance d’une demande d’ouverture de session à distance. Le nom de la station de travail n’étant pas toujours disponible<c/> peut être laissé vide dans certains cas.<nl/><nl/>Les champs relatifs aux informations d’authentification fournissent des détails sur cette demande d’ouverture de session spécifique.<nl/> - Le GUID d’ouverture de session est un identificateur unique pouvant servir à associer cet événement à un événement KDC .<nl/> - Les services en transit indiquent les services intermédiaires qui ont participé à cette demande d’ouverture de session.<nl/> - Nom du package indique quel est le sous-protocole qui a été utilisé parmi les protocoles NTLM.<nl/> - La longueur de la clé indique la longueur de la clé de session générée. Elle a la valeur 0 si aucune clé de session n’a été demandée.,(12544),4624,,Comp1
08/12/2015 23:52:11,Microsoft-Windows-Security-Auditing,Réussite de l'audit,Privilèges spéciaux attribués à la nouvelle ouverture de session.<nl/><nl/>Sujet :<nl/> ID de sécurité : S-1-5-21-2814706995-1848420457-3208371447-1105<nl/> Nom du compte : cgl<nl/> Domaine du compte : TEST<nl/> ID d’ouverture de session : 0x53172f<nl/><nl/>Privilèges : SeSecurityPrivilege<nl/> SeBackupPrivilege<nl/> SeRestorePrivilege<nl/> SeTakeOwnershipPrivilege<nl/> SeDebugPrivilege<nl/> SeSystemEnvironmentPrivilege<nl/> SeLoadDriverPrivilege<nl/> SeImpersonatePrivilege,(12548),4672,,Comp1
08/12/2015 23:52:11,Logon,Inconnu,Login succeeded for user 'TEST\cgl'. Connection made using Windows authentication. [CLIENT : 192.168.152.170],,,,
它告诉我它赋予新会话特殊权限(第二行)
现在用无效的账户登录
08/12/2015 23:51:36,Microsoft-Windows-Security-Auditing,Réussite de l'audit,L’ouverture de session d’un compte s’est correctement déroulée.<nl/><nl/>Sujet :<nl/> ID de sécurité : S-1-0-0<nl/> Nom du compte : -<nl/> Domaine du compte : -<nl/> ID d’ouverture de session : 0x0<nl/><nl/>Type d’ouverture de session : 3<nl/><nl/>Nouvelle ouverture de session :<nl/> ID de sécurité : S-1-5-21-2814706995-1848420457-3208371447-1111<nl/> Nom du compte : cgl3<nl/> Domaine du compte : TEST<nl/> ID d’ouverture de session : 0x52c0e4<nl/> GUID d’ouverture de session : {5F718665-B8B7-28B2-9D08-5DB2898F3FA2}<nl/><nl/>Informations sur le processus :<nl/> ID du processus : 0x0<nl/> Nom du processus : -<nl/><nl/>Informations sur le réseau :<nl/> Nom de la station de travail : <nl/> Adresse du réseau source : 192.168.152.170<nl/> Port source : 49232<nl/><nl/>Informations détaillées sur l’authentification :<nl/> Processus d’ouverture de session : Kerberos<nl/> Package d’authentification : Kerberos<nl/> Services en transit : -<nl/> Nom du package (NTLM uniquement) : -<nl/> Longueur de la clé : 0<nl/><nl/>Cet événement est généré lors de la création d’une ouverture de session. Il est généré sur l’ordinateur sur lequel l’ouverture de session a été effectuée.<nl/><nl/>Le champ Objet indique le compte sur le système local qui a demandé l’ouverture de session. Il s’agit le plus souvent d’un service<c/> comme le service Serveur<c/> ou un processus local tel que Winlogon.exe ou Services.exe.<nl/><nl/>Le champ Type d’ouverture de session indique le type d’ouverture de session qui s’est produit. Les types les plus courants sont 2 (interactif) et 3 (réseau).<nl/><nl/>Le champ Nouvelle ouverture de session indique le compte pour lequel la nouvelle ouverture de session a été créée<c/> par exemple<c/> le compte qui s’est connecté.<nl/><nl/>Les champs relatifs au réseau indiquent la provenance d’une demande d’ouverture de session à distance. Le nom de la station de travail n’étant pas toujours disponible<c/> peut être laissé vide dans certains cas.<nl/><nl/>Les champs relatifs aux informations d’authentification fournissent des détails sur cette demande d’ouverture de session spécifique.<nl/> - Le GUID d’ouverture de session est un identificateur unique pouvant servir à associer cet événement à un événement KDC .<nl/> - Les services en transit indiquent les services intermédiaires qui ont participé à cette demande d’ouverture de session.<nl/> - Nom du package indique quel est le sous-protocole qui a été utilisé parmi les protocoles NTLM.<nl/> - La longueur de la clé indique la longueur de la clé de session générée. Elle a la valeur 0 si aucune clé de session n’a été demandée.,(12544),4624,,Comp1
我真的不明白这个问题,甚至不明白我做错了什么......
而且我似乎甚至无法在网上找到答案,这意味着我可能在搜索错误的东西......
有人能帮助我吗?提前致谢