惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Spread Privacy
Spread Privacy
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
SecWiki News
SecWiki News
腾讯CDC
P
Privacy International News Feed
Webroot Blog
Webroot Blog
J
Java Code Geeks
爱范儿
爱范儿
A
About on SuperTechFans
S
Secure Thoughts
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
DataBreaches.Net
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Security Latest
Security Latest
Forbes - Security
Forbes - Security
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threatpost
量子位
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
GbyAI
GbyAI
S
Security @ Cisco Blogs
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 聂微东
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
Attack and Defense Labs
Attack and Defense Labs

博客园 - IT-民工

Sqlsever Kill locked process C# PDF添加水印 Excel Vlookup多条件查询 , 列转行 C# 编写ActiveX Microsoft.Office.Interop.Excel error: 80070005 C# Linq 分页查询模板 SQLServer 查询 Excel ISO 纸张尺寸定义 检测SQLSERVER 连接 刷新SQLserver 视图 Sql Server 邮件日志 操作 常用连接 导出Excel Asp.net 多国语言-注意点 SqlServer 行列互转 SqlServer 备份数据库语法 SqlServer To SqlServer 建立 链接服务器 Linked Server sqlserver 根据内容,查询表和列名字 Sqlserver 2005 修改数据库默认排序
Linked Server Dependencies
IT-民工 · 2015-03-26 · via 博客园 - IT-民工

原文地址: http://www.sqlservercentral.com/scripts/Linked+Server/64276/

This Proc is written for either SQL 2000 or SQL 2005 to return a list of objects that are dependent on Linked Servers.

This proc checks all Databases and Objects on a Server.

use master
go

create procedure s0_get_linked_dependencies
as
/***********************************************************************\
    This Proc is written for either SQL 2000 or SQL 2005 to return
    a list of objects that are dependent on Linked Servers. This
    proc checks all Databases and Objects on a Server.

    Author:    Andrew C Miller
    Date:    09/05/2008

    Usage:    exec s0_get_linked_dependencies
\***********************************************************************/        

BEGIN
set nocount on
--    Check for SQL Version
if (select @@version) like '%2000%'
Begin
    --    Get List of Databases
    declare kerser1 cursor read_only forward_only for
    select
        name
    from 
        sysdatabases (nolock)
    order by
        name

    --Create Table to Store Results
    if not exists(select * from sysobjects (nolock) where name = 'LinkedServerDependencies' and xtype = 'U')
    Begin
        create table LinkedServerDependencies (
            [Database] varchar(100),
            [DependantObject] varchar(100),
            [LinkedServer] varchar(100))
    End

    truncate table LinkedServerDependencies

    open kerser1

    declare @sp_db_name varchar(100)
    declare @sp_srv_name varchar(100)
    declare @sql varchar(8000)

    fetch next from kerser1 into
        @sp_db_name

    while @@fetch_status = 0
    Begin
        --Get List of Linked Servers
        declare kerser2 cursor read_only forward_only for
        select 
            srvname 
        from 
            sysservers (nolock)
        order by srvname

        open kerser2

        fetch next from kerser2 into
            @sp_srv_name

        --    Populate Table of Dependencies
        while @@fetch_status = 0
        Begin
            set @sql = 'insert into LinkedServerDependencies select '''+@sp_db_name+''' as [Database], name as DependantObject, '''+@sp_srv_name+''' as LinkedServer from '+@sp_db_name+'..sysobjects where id in (select id from '+@sp_db_name+'..syscomments where text like ''%'+@sp_srv_name+'%'')'
            exec (@sql)

            fetch next from kerser2 into
                @sp_srv_name
        End

        close kerser2
        deallocate kerser2

        fetch next from kerser1 into
            @sp_db_name
    End

    close kerser1
    deallocate kerser1

    --    Return the results
    select * from LinkedServerDependencies
End
--    Check for SQL Version
if (select @@version) like '%2005%'
Begin
    --    Get List of Databases
    declare kerser1 cursor read_only forward_only for
    select
        name
    from 
        sysdatabases (nolock)
    order by
        name

    --Create Table to Store Results
    if not exists(select * from sysobjects (nolock) where name = 'LinkedServerDependencies' and xtype = 'U')
    Begin
        create table LinkedServerDependencies (
            [Database] varchar(100),
            [DependantObject] varchar(100),
            [LinkedServer] varchar(100))
    End

    truncate table LinkedServerDependencies

    open kerser1

    declare @sp_db_name2 varchar(100)
    declare @sp_srv_name2 varchar(100)
    declare @sql2 varchar(8000)

    fetch next from kerser1 into
        @sp_db_name2

    while @@fetch_status = 0
    Begin
        --Get List of Linked Servers
        declare kerser2 cursor read_only forward_only for
        select 
            srvname 
        from 
            sysservers (nolock)
        order by srvname

        open kerser2

        fetch next from kerser2 into
            @sp_srv_name2

        --    Populate Table of Dependencies
        while @@fetch_status = 0
        Begin
            set @sql2 = 'insert into LinkedServerDependencies select '''+@sp_db_name2+''' as [Database], name as DependantObject, '''+@sp_srv_name2+''' as LinkedServer from '+@sp_db_name2+'.sys.sysobjects (nolock) where id in (select id from '+@sp_db_name2+'.sys.syscomments where text like ''%'+@sp_srv_name2+'%'')'
            exec (@sql2)

            fetch next from kerser2 into
                @sp_srv_name2
        End

        close kerser2
        deallocate kerser2

        fetch next from kerser1 into
            @sp_db_name2
    End

    close kerser1
    deallocate kerser1

    --    Return the results
    select * from LinkedServerDependencies
End
End