zoukankan      html  css  js  c++  java
  • 重做数据库复制查看因业务需要未选进行发布定义的表清单

    重做数据库复制查看因业务需要未选进行发布定义的表清单

    概述

    即未选择的表是有主键,符合发布定义的规则,基于业务的需要,在之前做好的复制未选择发布订阅,后续可能由于迁移或其他原因需重做发布订阅,之前这部分未选的表信息也未有文档记录,如何快速查看这些未选的表,从而达到重做复制时完全与之前配置的articles一致,特别是对涉及的表比较多的时候,如何通过一段代码快速统计出有多少表然后有针对性去比对,避免出现漏选或多选的情形。本段代码是基于上述的需求,直接在原来已配置好的发布库中执行即可;

    测试环境

    Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 
     Oct 20 2015 15:36:27 
     Copyright (c) Microsoft Corporation
     Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
     

    查询代码

    USE [发布库名]
    
    
    SELECT a.name
    FROM
        (
            SELECT *
            FROM sys.objects
            WHERE type = 'U'
        ) a
        INNER JOIN
        (
            SELECT *
            FROM sys.indexes
            WHERE index_id = 1
        ) b
            ON a.OBJECT_ID = b.object_Id
        LEFT JOIN
        (
            SELECT a.name
            FROM [dbo].[sysarticles] a
                INNER JOIN [dbo].[syspublications] b
                    ON a.pubid = b.pubid
            WHERE 1 = 1   ---已发布的表,如有多个发布可在条件中筛选
        ) c
            ON c.name = a.name
    WHERE c.name IS NULL AND a.is_ms_shipped<>1
    ORDER BY a.name;
     
  • 相关阅读:
    js事件入门(6)
    js事件入门(5)
    js事件入门(4)
    js事件入门(3)
    js事件入门(2)
    js事件入门(1)
    js语法基础入门(7)
    js语法基础入门(6)
    spark web ui
    命令行笔记(一)
  • 原文地址:https://www.cnblogs.com/jil-wen/p/10405317.html
Copyright © 2011-2022 走看看