如何为 SQL Server 配置安全日志传送

文章翻译 文章翻译
文章编号: 321247 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文提供了有关如何为日志传送配置安全的信息。没有配置为 SQL Server 日志从启动帐户的共享权限的事务日志备份所驻留的网络共享的 SQL Server 传送该范围的安全性时要考虑的几个问题。在这篇文章中描述了这些问题。

在日志传送服务器上的启动帐户 SQL Server 和 SQL Server 代理服务

域帐户

如果您已在域中加入 SQL Server,Microsoft 建议您在启动 SQL Server 服务使用域帐户。如果您要配置 SQL Server 为虚拟服务器在 Windows Clustering 下运行,则必须使用域帐户。域帐户提供密码更改的情况下最小维护的好处。但是,您可能无法在域帐户下启动 SQL,如果 SQL Server 驻留在位于工作组中的服务器上。

本地网络帐户

使用 SQL Server 可以在本地创建网络帐户下启动。在这种情况中的网络访问这种情况下,如果您已配置为使用日志传送 SQL Server,SQL Server 进程所需的位置,您可以使用网络传递查询安全。使用传递查询安全将由 SQL Server 访问的所有计算机必须都具有相同的网络帐户,具有相同的密码和本地配置的适当权限。此外,当 SQL Server 进程请求从第二台计算机的资源,传统网络安全是绕过如果相同的帐户 (在其下请求 SQL Server 启动该服务时) 存在具有相同的密码。因为多长时间第二台计算机上的帐户配置具有足够的权限执行请求的调用 SQL Server 任务,任务将会成功。

本地系统帐户

您还可以配置 SQL Server Local System 帐户下启动。修改本地系统帐户的密码可能会导致失败的一些关键的系统稳定性的服务。此帐户是本地计算机驻留,这意味着 SQL Server 服务使用的本地安全上下文。如本地网络帐户部分中所述,因为不同计算机上本地系统帐户的密码不同本地系统帐户下启动 SQL Server 时,不能使用网络传递查询安全。启动 SQL Server 此帐户需要访问网络资源时很可能会导致任务的未成功完成。

有关最少的必需权限成功地启动和运行 SQL Server 和 SQL Server 代理服务的网络帐户查看 SQL Server 联机丛书中的下列主题:
Setting up Windows Service Accounts

了解 SQL Server 安全模型

完全了解安全含义,它是必须了解 Microsoft SQL Server 2000 中实现的安全模型。您在创建一个登录时它被添加到 数据库中的 syslogins 表。对于此新添加的登录提供了访问每个数据库中,它被添加到 sysusers 表在该数据库中。syslogins 表和 sysusers 表之间映射是 SID 字段上。

如果用户数据库移动到另一台服务器,SID 值会带入从以前的服务器。数据库安全性断开时在第二个服务器上的登录名不能创建具有相同的 SID 值,或者如果由于的 SID 值不匹配的安全配置不正确。

有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
240872INF: 如何解决权限问题,在移动数据库时

日志传送配置

安全要求

备份共享

配置来保存事务日志备份具有读/更改权限的帐户在哪些 SQL Server 下被配置为日志传送辅助服务器) 上的服务正在启动配置的网络共享。

应将被配置为保存在的事务日志备份的网络共享配置为具有读/更改权限的帐户配置了日志-传送在辅助服务器上的服务在哪个 SQL Server 下开始。通过将复制到本地文件夹在各自的辅助服务器上的事务日志备份在辅助服务器上复制作业来访问此共享。加载作业然后将这些备份加载从本地文件夹中。

交叉域日志传送

如果在多域环境中放置运行 SQL Server 的计算机,Microsoft 建议您设置日志传送中涉及的所有域之间的双向信任。但是,如果您不能建立域之间的信任,您可以使用网络传递安全日志传送。请参阅本文的讨论 SQL Server 相关的服务的本地系统网络帐户启动选项的部分。

选择要连接到监视服务器的身份验证模式

您可以选择 Windows 身份验证或 SQL 验证 (通过主要和辅助服务器) 连接到监视服务器和更新显示器表。可以选择此设置日志传送或同时设置了日志传送和它工作正常后。默认状态下,SQL Server 使用 Windows 身份验证 ; 但是,如果选择了 SQL 身份验证主辅助上, 创建新的 SQL 登录 log_shipping_monitor_probe 和监视服务器,如果一个不存在。如果您选择为此目的的 SQL 身份验证,配置 SQL Server 使用 SQL 和 Windows 身份验证 选项。

备用数据库的辅助服务器上的安全配置

如果您配置辅助数据库处于备用模式,您可以访问此数据库处于只读状态。通过还原辅助数据库在这种模式下,这可以提供了一种方法,用以运行从而减轻一些从生产系统工作负载的脱机报告。但是,备用数据库以支持只读功能,您可能不得不辅助服务器上应用相同的安全设置。因为数据库处于备用状态,您甚至不能进行任何修改用于配置安全的目的。在这种情况下,您必须具有相同的 SID 值,在辅助服务器上创建所有 SQL Server 登录。因为 Windows GUID 是全局唯一的甚至在使用多个域时,Windows 登录自动保留相同的 sid。

有关如何创建具有相同的 SID 在不同的服务器上的 SQL 登录的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
303722如何授予对上一个备用数据库如果"guest"用户是禁用的 SQL 登录访问

安全配置时执行角色更改

为日志传送角色更改过程涉及将接管作为主要的辅助服务器提升。可以使用或不使用主服务器正联机执行此操作。一部分的角色更改有最多四个存储的过程执行的。这些存储过程 sp_resolve_logins,之一有助于正值为驻留在备用数据库,它由可用于与主数据库之前的登录 SID。

属于此存储过程从以前的主服务器 syslogins 表的.bcp 文件被加载到临时表。此临时表中存在的每个登录然后将与辅助服务器的 MASTER 数据库中的 syslogins 表和辅助数据库的 sysusers 表进行比较。具有登录名与在 syslogins 表和相同的 SID 与辅助数据库的 sysusers 表中一个同名的临时表中的每个登录以匹配一个 syslogins 表中的使用 sp_change_users_login 将 SID 更正 (在辅助数据库中)。

使用此存储的过程的安全配置要求满足以下条件:
  • 在辅助服务器上必须已经创建 SQL 登录。若要这样做使用传输登录 DTS 任务 (其内容将在 SQL Server 联机丛书的主题中说明如何在设置和执行日志传送角色更改。
  • 您必须提供 syslogins 表从主服务器的.bcp 文件。此文件必须是当前的因为一个过期的文件可能会导致 sp_resolve_logins 未能修复该登录名。
sp_resolve_logins 可以实际修复辅助数据库中的登录名之前,您必须满足以下三个条件:
  1. 从 syslogins 表的.bcp 文件的登录名必须与 syslogins 表从主服务器中的名称相匹配。
  2. SID 值必须匹配该登录名之间的.bcp 文件和 $ 辅助数据库中的 sysusers 表
  3. 从辅助数据库 SID 值必须在辅助服务器上在 MASTER 数据库中 syslogins 表中该 SID 值不同。
如果创建了 SQL Server 登录 Q303722 中所述它并没有运行此存储的过程,因为所有登录名已经是 syslogins 表 (在 MASTER 数据库中在第二台服务器上) 和 $ 辅助数据库) 中的 sysusers 表中存在具有相同的 SID 值。

常见问题

问题: 无法日志传送自动传播到辅助服务器的与安全有关的更改吗?

回答: 是。因为系统表的所有更改都都将记录的操作,这些都将通过对辅助服务器或服务器自动传播到。

问题: 可以有两个登录名在辅助服务器上具有相同 SID 吗?我需要这样,因为我正在使用相同的 SQL Server 计算机维护从多个服务器的多个备用数据库中。

回答: 否。SQL Server 安全模型不允许有两个具有相同 SID 的登录名。如果存在冲突 SID 上使用日志传送与多个服务器时,要更正此问题的唯一方法是在主服务器上删除冲突的登录,然后在第二台服务器上不存在的 SID 与创建它。
有关日志传送角色更改的其他信息,请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
314515INF: 常见问题问题-SQL Server 2000-日志传送

属性

文章编号: 321247 - 最后修改: 2005年12月21日 - 修订: 3.5
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
关键字:?
kbmt kbhowtomaster KB321247 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 321247
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com