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 --删除远程服务器链接 
  • 相关阅读:
    linux的redis的安装和使用
    在linux上安装Mysql和使用
    linux的python3的安装
    linux的优化和命令
    LeetCode 542. 01 Matrix
    Qt keyPressEvent
    QOpenGLTexture 两个纹理叠加
    Qt5.6.0+OpenGL 纹理贴图首战告捷
    更改Qt Application为 Qt Console Application
    Learning part-based templates from large collections of 3D shapse CorrsTmplt Kim 代码调试
  • 原文地址:https://www.cnblogs.com/mose/p/8472862.html
Copyright © 2011-2022 走看看