--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. gRPC 到 JSON 代理生成器 grpc-gateway

    grpc-gateway是protoc的插件,它读取protobuf服务定义并生成反向代理服务器,该服务将RESTful HTTP API转换为gRPC. 这个服务是根据你的服务定义中的google. ...

  2. BZOJ3122 随机数生成器——BSGS

    题意 链接 给定 $p,\ a,\ b, \ x_1$,现有一数列 $$x_{i+1} \equiv (ax_i + b) \ mod \ p$$ 求最小的 $i$ 满足 $x_i = t$ 分析 代 ...

  3. P1169 [ZJOI2007]棋盘制作 悬线法or单调栈

    思路:悬线法\(or\)单调栈 提交:2次 错因:正方形面积取错了\(QwQ\) 题解: 悬线法 讲解:王知昆\(dalao\)的\(PPT\) 详见代码: #include<cstdio> ...

  4. mkswap/swapon/swapoff/free

    free mkswap 创建Linux交换分区 swapon 启用交换分区 swapoff 关闭交换分区 注意: 在创建完交换区之后.是需要激活才能使用的 swapon/swapoff

  5. Codeforces Round #521 (Div.3)题解

    A过水,不讲 题解 CF1077B [Disturbed People] 这题就是个显而易见的贪心可是我考场上差点没想出来 显然把一户被打扰的人家的右边人家的灯关掉肯定比把左边的灯关掉 从左到右扫一遍 ...

  6. Ryu控制器编程开发——packet_in和packet_out简易交换机实现

    Ryu控制器二次开发,实现一个简单的只能够简单地广播数据包的交换机. from ryu.base import app_manager from ryu.controller import ofp_e ...

  7. 程序猿必备的Git教程

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 版权声明:本文为博主原创文章,未经 ...

  8. Linux命令行提交更新冲突

    1.在harry目录下的hello文件第五行加一些内容 2.将修改后文件执行提交操作 提交成功,文件版本升为5 3.在sally目录下同样修改hello文件第五行 4.sally进行提交操作 发现提交 ...

  9. go之构造体方法

    package main import ( "fmt" "math" ) type Vertexs struct { X, Y float64 } //Abs ...

  10. 黑马vue---31-32、vue过滤器实例

    黑马vue---31-32.vue过滤器实例 一.总结 一句话总结: vue内部的东西,无论是过滤器还是组件,都是键值对的方式 1.过滤器的定义语法? Vue.filter('过滤器的名称', fun ...