如何列出所有表格和商店程序哪些不在发布数据库中使用T-SQL查询发布?
RED中的表格就是示例......
This is an example which tables and store procedures have to be listed
答案 0 :(得分:0)
我没有设置复制,因此我无法构建或检查查询,但我相当确定您要查找的信息可以在syspublications
和{{ 3}}表。
作为额外帮助,请尝试选中其中一个框。在屏幕截图的左上角,有一个名为Script
的按钮,当前已被禁用。进行更改(如选中或取消选中复选框)应该可以让您查看哪些表格中的复选框设置实际发生了变化。
最后,您可以启动Profiler,然后打开屏幕。如果您选中标记为Show only checked articles in the list
的复选框,则会将主窗口的选择限制为仅选中的文章。然后,Profiler可以让您看到执行了哪些脚本来获取这些结果。
答案 1 :(得分:0)
这将获得未在发布数据库中发布的所有表,视图和存储过程的列表。
对于快照和交易:
SELECT
name
FROM sys.objects WITH (NOLOCK)
WHERE (([type] = 'U') OR ([type] = 'V') OR ([type] = 'P')) AND
is_ms_shipped <> 1 AND
name NOT IN (SELECT DISTINCT object_name(OBJID) FROM sysarticles)
对于合并:
SELECT
name
FROM sys.objects WITH (NOLOCK)
WHERE ((type = 'U') OR (type = 'V') OR (type = 'P')) AND
is_ms_shipped <> 1 AND
name NOT IN (SELECT DISTINCT object_name(OBJID) FROM sysmergearticles)