zoukankan      html  css  js  c++  java
  • 跨服务器执行SQL

     
    --exec sp_helpserver 可以以存储过程形式执行以下:
    
    --1.1 创建登录信息(或叫创建链接服务器登录名映射)(只需选择一种方式)
        
    --1.1.1 以windows认证的方式登录
    /*例如:EXEC sp_addlinkedserver 'TonyLink','','SQLOLEDB','192.168.58.208' */ 
    EXEC sp_addlinkedserver 'DB1','','SQLOLEDB','0.0.0.0' --有自定义实例名还要加上"/实例名"
    
    
    --1.1.2 以SQL认证的方式登录 
    /*例如:EXEC sp_addlinkedsrvlogin 'TonyLink'  或  EXEC sp_addlinkedsrvlogin 'TonyLink','true'  */
    
    /*例如:EXEC sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */
    EXEC sp_addlinkedsrvlogin 'DB1','false',NULL,'sa','123'
    
        --1.1.3 执行SQL或者存储过程
        /*更新菜单按钮*/
        INSERT INTO DB1.SUP2.dbo.sys_MenuButton ( Alias, Name, BtnName, BtnText)
        SELECT A.Alias,A.Name,A.BtnName,A.BtnText
        FROM SUP.dbo.sys_MenuButton AS A
    
    
        /*查询所有用户角色id*/
        DECLARE @RoleId INT
        DECLARE @TEMP TABLE (RoleId INT)
        
        INSERT INTO @TEMP 
        SELECT u.RoleId FROM DB1.SUP2.dbo.userBase u GROUP BY u.RoleId
    
        
        /*循环更新所有角色id新增的菜单按钮权限*/
        WHILE @@ROWCOUNT > 0
        BEGIN
            PRINT 'begin ---'
            IF EXISTS (SELECT TOP 1 RoleId FROM @TEMP )
            BEGIN
                    SELECT TOP 1 @RoleId=RoleId FROM @TEMP
                    
                    PRINT 'exec count ---'
    
                    DECLARE @Count INT
                    SELECT @Count = COUNT(*)
                    FROM DB1.SUP2.dbo.sys_MenuButton mb
    
                    PRINT @Count
                    PRINT @@ROWCOUNT
                    
                    DELETE FROM @TEMP WHERE RoleId=@RoleId
            END
        END;
    
        
    --1.1.4 删除声明的映射和远程服务器链接
    Exec sp_droplinkedsrvlogin DB1,Null --删除映射(断开与链接服务器上远程登录之间的映射) 
    Exec sp_dropserver DB1 --删除远程服务器链接 
  • 相关阅读:
    poj 1860 Currency Exchange(最短路径的应用)
    poj 2965 The Pilots Brothers' refrigerator
    zoj 1827 the game of 31 (有限制的博弈论)
    poj 3295 Tautology (构造法)
    poj 1753 Flip Game(枚举)
    poj 2109 (贪心)
    poj 1328(贪心)
    Qt 对单个控件美化
    Qt 4基础
    Bash Shell
  • 原文地址:https://www.cnblogs.com/mose/p/8472862.html
Copyright © 2011-2022 走看看