-1

我们有一个旧的 SQL 7 服务器。我想将数据库和用户迁移到新服务器,但只想转移活动用户。

如何跟踪登录以确定哪些用户当前处于活动状态?

4

1 回答 1

0

7.0 是很久以前的事了,所以我的记忆中可能有一些不好的部分(当时没有校验和)。尽量让它尽快升级。到目前为止,这已不受支持,MS 甚至不跟踪问题,包括其上的新安全漏洞。

请注意,您始终可以先移动所有登录名和用户,然后开始识别过时/非活动用户并删除它们。这似乎违反直觉(为什么带来垃圾然后清理?)但它实际上是更安全的路径。如果您有仅在每个月末或季度末或某个随机日期登录的睡眠者,除非您长时间监视,否则您可能不会捕获此用户/登录访问数据库。

也就是说,没有真正可靠的现有信息来源。您可以通过 SSMS 启用跟踪登录成功和失败选项。IIRC,它将事件写入 Windows 日志(更高版本写入 SQL Server 事件/错误日志)。但是,这仅适用于登录,实际上并不能告诉您它涉及到哪个数据库。如果登录名和用户之间始终是 1-1 映射,则很容易,否则,您将丢失未知数量的数据。

最安全的选择是创建一个非常轻量级的跟踪,仅用于捕获登录、用户和数据库信息。使用 sp_trace_xxx 而不是分析器运行服务器端,因此开销较低。将跟踪文件放在与 mdf 和 ldf 文件不同的驱动器上。我们已经这样做了几次并且从来没有遇到过负载问题,只要跟踪的定义非常非常狭窄——只捕获需要的东西,仅此而已。

于 2015-12-09T18:24:34.290 回答