--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','' --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 --删除远程服务器链接

跨服务器执行SQL的更多相关文章

  1. 跨服务器查询sql语句样例

    若2个数据库在同一台机器上:insert into DataBase_A..Table1(col1,col2,col3----)select col11,col22,col33-- from Data ...

  2. 跨服务器查询sql语句样例(转)

    若2个数据库在同一台机器上: insert into DataBase_A..Table1(col1,col2,col3----) select col11,col22,col33-- from Da ...

  3. PCB MS SQL跨库执行SQL 获取返回值

    一.SQL跨库执行SQL 获取返回值 ) DECLARE @sql nvarchar(MAX) DECLARE @layer INT SET @Dblink = 'P2.fp_db.dbo.' sel ...

  4. <译>通过PowerShell工具跨多台服务器执行SQL脚本

    有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞 ...

  5. [转]通过PowerShell工具跨多台服务器执行SQL脚本

    转至:http://www.cnblogs.com/SameZhao/p/4743692.html 有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心 ...

  6. 跨服务器的sql使用

    由于想从别的服务器上的数据库导入一些数据过来 经网上查阅,得到 select * from openrowset( 'SQLOLEDB', '服务器名字'; '用户名'; '密码',数据库名字.dbo ...

  7. 跨服务器备注SQL数据库 分类: SQL Server 2015-03-05 08:52 227人阅读 评论(0) 收藏

    任务:把服务器1上的SQL数据库自动备份到服务器2上,命名格式=数据库名+年月日+小时. 说明: 服务器2=>192.168.0.22 数据库名=>Book 共享文件夹路径:192.168 ...

  8. 跨服务器的SQL语句如何书写

    select  *  into  本地库名..表名  from  OPENDATASOURCE(                  'SQLOLEDB',                  'Data ...

  9. sqlserver跨服务器数据库sql语句

    1.启用Ad Hoc Distributed Queries:exec sp_configure 'show advanced options',1reconfigureexec sp_configu ...

随机推荐

  1. Docker常用命令行

    原文出处:https://blog.csdn.net/qq_29303759/article/details/87639016 启动docker 启动docker systemctl start do ...

  2. jQuery获取select元素选择器练习

    jQuery获取Select选择的Text和Value:语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ...

  3. node.js中允许的app对象声明方式

    伪对象形式 app = function () { console.log("我是一个初始化的app对象"); }; app.get=function () { console.l ...

  4. dp四边形优化

    如果dp[i][j]=min(dp[i][k]+dp[k+1][j]+w[i][j]);且满足dp[a][c]+dp[b][d]<=dp[a][d]+dp[c][d](a<b<=c& ...

  5. PHP mysqli_change_user() 函数

    改变指定数据库连接的用户: <?php $con=mysqli_connect("localhost","my_user","my_passwo ...

  6. java实现文件夹上传

    文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件.而且支持断点续传. 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场 ...

  7. Java进阶知识21 Spring的AOP编程

    1.概述 Aop:(Aspect Oriented Programming)面向切面编程          功能: 让关注点代码与业务代码分离! 关注点:重复代码就叫做关注点:切面: 关注点形成的类, ...

  8. gym224647B

    gym224647B 题意: 在二维平面中·选出一个面积最小的三角形,输出这个三角形面积的两倍. 解法: 首先,最优解一定在相邻最近的三个点中产生. 然后我们就可以用向量求三角形的面积. CODE: ...

  9. java 设计模式 之 装饰器模式

    装饰器模式的作用 在不修改原先对象核心的功能的情况下,对功能进行增强. 增强对象的功能的途径 通过类继承的方式,对父对象进行增强操作,例如造车是父类,改装跑车,跑车加大灯,改装房车,房车加私人电影院. ...

  10. kotlin之操作符重载

    一元操作符 表达式 对应的函数 +a a.unaryPlus() -a a.unaryMinus() !a a.not() a++ a.inc() a-- a.dec() fun main(arg: ...