sql-server-2008 - 通过脚本更新 SQL Server 2008 R2 用户的密码
问题描述
背景:我们在 SQL Server 2008 R2 上生产了一个旧系统。由于某些原因,未实现到辅助节点的实时复制。如果主要发生灾难,我们将切换到辅助计算机并恢复最新的可用备份(master、msdb、model dbs 除外)。我们的每个用户都通过 SQL Server 数据库用户访问应用程序。
问题:现在我担心的是,由于我们不会将主数据库恢复到辅助服务器,如何处理主数据库用户更改密码的情况。当我们从二级激活服务时,如何从一级恢复他们的密码?
一种方法是我们从主节点导出用户并在辅助节点上恢复它。但是这种方法的问题是二级用户的创建日期会发生变化,这将是一个审计问题。他们有什么办法只能更新密码吗?
问候萨尔曼
解决方案
dbatools有非常方便的 PowerShell cmdlet ( Copy-DbaLogin ) 来执行此操作。只需创建一个作业来运行以下脚本:
Copy-DbaLogin -Source sqlserversrc -Destination sqlserverdst -Force
它将复制所有登录名sqlserversrc
并sqlserverdst
覆盖它们以防它们存在(它将处理密码更改)。
另一种选择是使用 SSIS 和Transfer Logins Task。
如果您升级到 SQL Server 2012(或更高版本),您还可以考虑使用包含的数据库。然后您将不需要在服务器上登录,因为具有密码的用户是数据库本身的一部分。
推荐阅读
- amazon-web-services - Elastic Beanstalk:504 网关超时 - 访问端点时下载图像
- pandas - Python Pandas 中的 COUNTIFS
- javascript - Highchart 仅在本地主机上正确显示
- python - 编辑对象列表中的一个对象会更改所有对象的属性
- java - 我怎样才能为 JRadioButton 制作这个 ItemListener
- mysql - 我们可以对同一个表中的多个列使用 FIND_IN_SET() 函数吗
- r - 尝试分解时间序列时出错:非数字参数
- angular - ag-grid CellRenderer 组件变更
- python - 如何在类中使用不同的多用户输入在字典中添加数据?
- javascript - 无法为 div 元素设置高度