标签: logins

确定是否在不登录的情况下启用混合模式身份验证?

在 SQL Server 中是否可以在不登录 SQL Server 的情况下确定是否启用了混合模式身份验证?

authentication security sql-server sql-server-2012 logins

12
推荐指数
2
解决办法
1551
查看次数

有没有办法找出谁更改了登录密码?

我试图找出谁更改了 SQL Server 2008 R2 中的登录密码。

我已经检查了默认跟踪 - 它没有记录该事件。默认跟踪将包括这些与安全相关的事件:

/*
    Audit Add DB user event
    Audit Add login to server role event
    Audit Add Member to DB role event
    Audit Add Role event
    Audit Add login event
    Audit Backup/Restore event
    Audit Change Database owner
    Audit DBCC event
    Audit Database Scope GDR event (Grant, Deny, Revoke)
    Audit Login Change Property event
    Audit Login Failed
    Audit Login GDR event
    Audit Schema Object GDR event
    Audit Schema Object Take Ownership
    Audit Server Starts …
Run Code Online (Sandbox Code Playgroud)

security permissions sql-server-2008-r2 logins

11
推荐指数
1
解决办法
1万
查看次数

什么会导致孤立的##MS_PolicyEventProcessingLogin##?

今天早上我注意到我的 SQL 日志充满了以下消息:

在队列 'msdb.dbo.syspolicy_event_queue' 上运行的激活过程 '[dbo].[sp_syspolicy_events_reader]' 输出以下内容:
'无法作为数据库主体执行,因为主体“##MS_PolicyEventProcessingLogin##”不存在,这种类型的主体不能被冒充,或者您没有权限。

运行以下EXEC sp_change_users_login 'report'显示登录实际上已被孤立。

我能够按照此 MSDN 帖子中的建议运行以下命令来修复它。

EXEC sp_change_users_login 
    'Auto_Fix', '##MS_PolicyEventProcessingLogin##', 
    NULL, 'fakepassword'
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在:究竟是什么原因导致这位校长成为孤儿?谷歌搜索和研究表明其他人也有这个问题,但我还没有找到原因的描述。在错误开始出现的那一刻,我没有注意到任何值得注意的事情。

去年夏天,我们将整个服务器迁移到 SAN 存储模型,在迁移期间我们恢复了所有内容(包括 msdb),但那是几个月前的事情。只是最近的事情才使症状明显,因为它没有出现在几周前的日志中。

sql-server-2008 sql-server logins

9
推荐指数
1
解决办法
9794
查看次数

无法通过 SQL 身份验证使用 SA 登录

我无法使用 SQL Server 身份验证登录到 SQL Server 2008。

我只能使用 Windows 身份验证模式登录。

我在安装 SQL Server 2008 R2 时只选择了默认值。

authentication security sql-server sql-server-2008-r2 logins

9
推荐指数
2
解决办法
4万
查看次数

用于删除不再位于 Active Directory 中的帐户的 SQL Server 脚本

我们有一个 SQL Server 2000,很快就会迁移到 SQL Server 2005。它创建了多年的 Windows 身份验证帐户,这些帐户不再存在于 Active Directory 中,这会阻止复制数据库向导在新服务器上创建这些帐户。

是否有脚本或某种自动方法可以删除我们的 Active Directory 中不再存在的帐户?


编辑:需要明确的是,需要删除的登录名是在 SQL Server 2000 上,它不支持该DROP LOGIN命令。

另外,手动删除 SQL Server 2000 中exec sp_droplogin 'loginname'的登录名将(我认为)完成,但在我的,无法找到登录名,无论我使用“域\登录名”还是“登录名”

只是为了增加混乱,exec sp_revokelogin 'domain\loginname'似乎确实有效。

编辑2:终于解决了这个问题。许多有问题的登录以编程方式添加到数据库中,虽然它们在用户可以连接的意义上工作,但当 SQL Server 期望没有域时,用户名与 NT 登录名的域前缀登录不匹配,反之亦然反之。

为了解决这个问题,我修改了 sp_droplogin 过程以删除其中一项出错的检查。

我接受我自己的答案,因为它适用于 SQL Server 2000。

security sql-server sql-server-2000 logins

8
推荐指数
1
解决办法
1万
查看次数

如何更改数据库的 dbo 用户的登录名?

我刚刚在 Win8.1 的加入域的 VM 实例上成功安装了 SQL Server 2014 Express。

在我运行的安装过程中,我DOMAIN\Admin接受了将当前用户添加为 SQL 管理员的默认配置。但是,在完成后重新考虑后,我想使用该DOMAIN\DbAdmins组而不是域上的单个用户。

一切都很好。创建组,将其添加到 SSMS 中 SQL Server 的安全节点,将其置于 SysAdmin 角色中,授予“连接 SQL”安全性,然后我们就可以关闭并运行了——对吗?

没那么快。

安装程序映射DOMAIN\Admin到这两个数据库上的 dbo 用户:

  • 报表服务器
  • 报表服务器临时数据库

当然,dbo 不能被修改或删除。

我想在不卸载和重新安装 Reporting Services 的情况下执行此操作。有可能这样做吗?

security sql-server users logins sql-server-2014

8
推荐指数
1
解决办法
3万
查看次数

为单个数据库启用查询日志

我在 mysql 5.6 服务器中有许多数据库模式,现在这里的问题是我只想捕获一个模式的查询。

我无法为整个服务器启用查询日志,因为我的架构之一负载很高,它会影响服务器。

是他们的任何方式,我只能通过单个模式记录查询的任何工具。

我找到了基准图,它显示了启用查询日志时对事务/秒的影响。

在此处输入图片说明 在此处输入图片说明

mysql logins mysql-5.6

8
推荐指数
1
解决办法
2643
查看次数

如何链接可用性组中的用户和登录名?

我有一个可用性组,需要将一些登录名映射到活动辅助副本上的数据库用户。(Node2) 不幸的是,当我尝试exec sp_change_users_login或 时alter user with login,我收到一条错误消息,告诉我数据库是只读的。这并不奇怪,但我不知道如何解决它。我昨晚尝试故障转移,修复 Node2 上的登录,然后故障返回到 Node1,但随后登录/用户映射最终在 Node1 上出错。当我修复这些问题时,Node2 的登录再次失灵。

这是一个生产系统,所以直到今晚晚些时候我才能做任何我想做的事情。我在我们的测试实验室中没有遇到这个问题。不同之处可能是我之前在加入数据库之前创建了登录名,而这次我尝试在之后创建它们,但未能正确记录该过程。如果可以,我宁愿避免将 AG 拆除并重建它。

这个问题对我来说很有意义,我只是不知道如何解决它。

sql-server sql-server-2012 availability-groups logins

7
推荐指数
1
解决办法
8184
查看次数

用户默认数据库的用途是什么?

据我了解,指定了默认数据库,这样如果您没有在连接字符串中指定数据库,它就会知道从哪里开始。它是否正确?

我从未见过没有指定数据库的连接字符串,这可能吗?为什么有人想要这样做?它只是使您连接的数据库变得不那么透明。

换句话说,是否有任何理由选择 master 之外的其他数据库作为默认数据库?

sql-server users logins

7
推荐指数
1
解决办法
5870
查看次数

使用此用户还原后,将 SQL Server 用户重新绑定到其登录名

在执行 SQL Server (v12.0.2000) 数据库的还原后,我认为需要将用户重新映射到其登录名(这个问题似乎被称为孤儿用户)。最简单的方法之一是执行:

use [MyDatabase];
alter user MyUser with login = MyUser;
Run Code Online (Sandbox Code Playgroud)

然而,在实现恢复后,该USE命令失败了,因为我试图用 执行上述命令'MyUser',这是孤立的...

因为它是在脚本中,所以我想避免restore与一个用户和alter user另一个用户执行 a ,以便第一个用户正确地重新映射到其登录名。

有没有办法用“MyUser”来做到这一点(谁可以毫无问题地连接到主人)?

我通过以下方式完全限定“MyUser”进行了尝试,但没有成功:

use master;
alter user MyDatabase.MyUser with login = MyUser;
Run Code Online (Sandbox Code Playgroud)

知道这是否可能以及如何做到吗?

sql-server sql-server-2012 users logins

7
推荐指数
1
解决办法
8613
查看次数