我在 Windows 10 家庭版中运行带有 SSMS 和 Windows 身份验证的 Sql Server Dev 2017。我的 SqlServer 一直处于离线状态(我的 SqlServer 禁用了 TCP/IP,防火墙中没有入站规则),并且一直存在于我的 PC 中,即不在网络中的任何服务器中。我有 3 个实例服务器,无允许 Sql Server 身份验证
在做一些其他工作时,我使用了表“sys.syslogins”,输出如下:
我很好奇:
- 为什么在我使用 Windows 的情况下有一个包含登录名的表,而在我使用 Win 身份验证的情况下不需要登录名?
- 鉴于我不会中文,而且该表从未上线,所以包含的图片中的汉字是如何输入的?我可以合理地推断某人获得了对我电脑的物理访问权限吗?
- 我在哪里/如何检查登录的设置时间?我猜是我的 Sql Server 日志,但是,更具体地说,在哪里?也许在我的 Win10 事件查看器中?
问题1
即使是 Windows 登录也需要密码,尽管在出现连接窗口时您没有输入密码。当您输入用户名(Windows 登录)时,SQL Server 会直接使用 Windows 来检查密码,如此处所述,因为它信任它:
问题2
正如@Ranhound 在评论中已经指出的那样,汉字实际上并不是汉字。正如在客户端计算机的代码页与 SQL Server 2005 中数据库的代码页不同时字符数据表示不正确(也是有效的更新版本)中所述,字符无法正确显示可能是由于:
问题 3
您可以运行以下查询,如下所示:
查询将输出: