SQL Server 2005 复制:用 SQL 语句快速查看发布(publication)都有哪些订阅(subscription),以及发布包含了哪些表
来源:互联网 发布:有什么武功软件 编辑:程序博客网 时间:2024/05/01 17:48
公司的数据库服务器上建立了 N 多个复制(replication),大大小小的发布(publication)都有上百个。 每当数据库复制同步出现问题的时候,最头痛了,因为要查看这个发布包含了 哪些表,特别是当查找某个表都包含在哪些发布中,以及被哪些数据库服务器订阅(subscription), 在 SQL Server 2005 的复制监视器(replication monitor)中去找到需要花费很多时间。于是我写了个 SQL 脚本,可以方便的查看数据库复制中的发布、订阅、出版物(article)等基本信息。利用这个 SQL 脚本,可以查看:
1. 当前数据库中都有哪些发布。2. 一个发布中包含了哪些表。3. 发布都是被哪些数据库服务器订阅。
---------------------------------------------------------------------------------- author : p.c.w.l-- source : www.sqlstudy.com-- create : 2008-01-01-- descr : a simple sql script to view base-info of publication, subscription--------------------------------------------------------------------------------select publication = p.name ,pub_status = case p.status when 0 then 'inactive' when 1 then 'active' end ,sysn_method = case p.sync_method when 0 then 'native bcp' when 1 then 'character bcp' when 3 then 'native bcp (nolock table)' when 4 then 'character bcp (nolock table)' end ,article = a.name ,art_local_table = object_name(a.objid) ,art_remote_table = a.dest_owner + '.' + a.dest_table ,art_type = case a.type when 1 then '1 = log-based article' when 3 then '3 = log-based article with manual filter' when 5 then '5 = log-based article with manual view' when 7 then '7 = log-based article with manual filter and manual view' when 8 then '8 = stored procedure execution' when 24 then '24 = serializable stored procedure execution' when 32 then '32 = stored procedure (schema only)' when 64 then '64 = view (schema only)' when 128 then '128 = function (schema only)' end ,art_status = case when a.status & 1 = 1 then 'active' else 'inactive' end ,subserver = s.srvname ,subdb = s.dest_db from dbo.syspublications p inner join dbo.sysarticles a on p.pubid = a.pubid inner join dbo.syssubscriptions s on a.artid = s.artid and s.srvid > 0 where 1 = 1-- and p.name = '' -- publication name-- and a.name = '' -- article name (note:article name always same with table name)-- and object_name(a.objid) = '' -- table name--order by s.srvname, a.nameorder by p.name
- SQL Server 2005 复制:用 SQL 语句快速查看发布(publication)都有哪些订阅(subscription),以及发布包含了哪些表
- SQL Server 复制(发布与订阅)
- SQL Server 复制 订阅与发布
- SQL SERVER 2008 复制(发布、订阅)注意事项
- sql server 2005 发布订阅
- Sql Server 订阅发布
- SQL Server 2005-同步复制技术:发布、订阅
- Sql Server 2005 发布和订阅
- sql server 2005 发布订阅总结
- sql server 订阅和发布
- SQL SERVER发布与订阅
- SQL Server + Oracle订阅发布
- SQL SERVER 复制之使用代码创建发布订阅
- SQL语句优化的策略都有哪些?
- MYSQL的sql语句优化都有哪些?
- SQL常用语句有哪些?
- SQL Server 2008 数据库同步 (发布、订阅)
- SQL SERVER 2012 使用订阅发布同步数据库(一)
- MySQL 局域网内通讯超慢的解决方法
- 做梦!01背包问题
- C# 串口操作系列
- NSNotificationCenter 的使用
- STL欠缺什么?
- SQL Server 2005 复制:用 SQL 语句快速查看发布(publication)都有哪些订阅(subscription),以及发布包含了哪些表
- 关于PHP新版SDK提示"建立sock连接失败"的解决!
- linux上编写守护进程的例程
- 选择排序
- CSS 技术(一)
- java中int,char,string三种类型的相互转换
- 实习日记011(0801)
- 在NSDictionary中存放Selector
- POJ 1014 Dividing 多重背包,二进制压缩成一般01背包问题