我需要通过检查用户的 SSID 和密码来主动验证 AG 中各个节点的数据库用户,请帮助我提供脚本。
发生了因可用性组节点上缺少 SQL 帐户登录而导致的事件。
这可能是由于以下原因:用户被添加到 AG 节点,但其 SID 与主节点不同,因此用户无权访问数据库,• 用户被添加到 AG 节点,并且其密码与其他服务器不同。
答案1
您可以在服务器 A 上使用以下选择来获取 sid 和密码(如果需要)。然后在服务器 B 上使用“创建登录”命令来获得匹配的登录名。
Select 'YourSqlLogin', suser_sid('YourSqlLogin'), Loginproperty('YourSqlLogin', 'PasswordHash')
Create Login [YourSqlLogin] With Password = 0x02... Hashed, -- from above select Sid = 0xE..., -- from above select Default_Database = [master], Default_Language = [us_english], Check_Expiration = Off, Check_Policy = On