AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 183778
Accepted
BeginnerDBA
BeginnerDBA
Asked: 2017-08-18 14:20:18 +0800 CST2017-08-18 14:20:18 +0800 CST 2017-08-18 14:20:18 +0800 CST

查找主体和镜像服务器之间丢失的登录和丢失的作业的最佳方法

  • 772

当从 P 到 S 进行数据库故障转移时,我正在对主服务器和辅助服务器之间的登录和作业进行手动比较。我将登录和作业从一台服务器复制到 excel,并将它们与另一台服务器上的进行比较。

有人可以建议一种方法来至少自动执行此检查的一部分吗?

注意 - 我在进行数据库故障转移之前执行此操作作为预检查,只是为了确保辅助数据库与主体相比没有丢失任何内容,以避免在镜像数据库故障转移后中断。

mirroring sql-server-2012
  • 1 1 个回答
  • 82 Views

1 个回答

  • Voted
  1. Best Answer
    SqlWorldWide
    2017-08-18T15:42:35+08:002017-08-18T15:42:35+08:00

    使用 Power Shell 对我有用。我把它作为更大脚本的一部分,我只提供它的一部分。希望你能把它放在一起。

    FUNCTION report-status-primary 
        {
            PARAM (
                    $Check,
                    $Variable,
                    $Primary,
                    $Secondary
                  )
    
            WRITE-HOST "Checking $Check on $Primary..." -ForegroundColor Yellow
            IF ($Variable)
    
                {
    
                    WRITE-HOST "$Check on $primary not on $secondary" -ForegroundColor Red
                    $Variable
                }
            ELSE
                {
                    WRITE-HOST "Match" -ForegroundColor Green
                }     
            WRITE-HOST "------------------------------------------------------------" -ForegroundColor Yellow
        }
    
      FUNCTION report-status-secondary 
        {
            PARAM (
                    $Check,
                    $Variable,
                    $Primary,
                    $Secondary
                  )
    
            WRITE-HOST "Checking $Check on $Secondary..." -ForegroundColor Yellow
            IF ($Variable)
    
                {
    
                    WRITE-HOST "$Check on $Secondary not on $primary" -ForegroundColor Red
                    $Variable
                }
            ELSE
                {
                    WRITE-HOST "Match" -ForegroundColor Green
                }     
            WRITE-HOST "------------------------------------------------------------" -ForegroundColor Yellow
        }
    

    多变的:

    $SourceSQLServer = 'Primary Server'
    $TargetSQLServer = 'Secondary Server'
    
    [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | Out-Null
    $SourceServer = New-Object 'Microsoft.SqlServer.Management.SMO.Server' ($SourceSQLServer)
    $TargetServer  = New-Object 'Microsoft.SqlServer.Management.SMO.Server' ($TargetSQLServer)
    
    # -- Jobs
    $JobsSNT = $SourceServer.JobServer.Jobs.name | where {($TargetServer.JobServer.Jobs.name -notcontains $_) -and $_ -notlike "*]__*" }
    $JobsTNS = $TargetServer.JobServer.Jobs.name | where {($SourceServer.JobServer.Jobs.name -notcontains $_) -and $_ -notlike "*]__*" }
    
    # -- Logins
    $LoginsSNT = $SourceServer.Logins.name | where {$TargetServer.Logins.name -notcontains $_}
    $LoginsTNS = $TargetServer.Logins.name | where {$SourceServer.Logins.name -notcontains $_}
    

    报告:

    report-status-primary -check 'Jobs' -variable $JobsSNT -primary $SourceServer -secondary $TargetServer 
    report-status-secondary -check 'Jobs' -variable $JobsTNS -primary $SourceServer -secondary $TargetServer 
    
    report-status-primary -check 'Logins' -variable $LoginsSNT -primary $SourceServer -secondary $TargetServer 
    report-status-secondary -check 'Logins' -variable $LoginsTNS -primary $SourceServer -secondary $TargetServer 
    

    这是我运行此脚本的示例输出。

    在此处输入图像描述

    • 1

相关问题

  • 使用 TDE 进行数据库镜像

  • 数据库镜像事件警报

  • 为什么 Denali 序列应该比标识列表现更好?

  • SQL Server 不应该支持范围吗?

  • 什么是 SQL Server“德纳利”?什么是新的?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve