使用SQL脚本访问操作远程数据库

 1 USE [Hik]
 2 GO
 3 /****** Object:  StoredProcedure [dbo].[sp_test]    Script Date: 08/21/2015 09:55:21 ******/
 4 SET ANSI_NULLS ON
 5 GO
 6 SET QUOTED_IDENTIFIER ON
 7 GO
 8 -- Batch submitted through debugger: SQLQuery17.sql|7|0|C:\Users\a\AppData\Local\Temp\~vs6295.sql
 9 -- Batch submitted through debugger: SQLQuery14.sql|7|0|C:\Users\a\AppData\Local\Temp\~vsCDAD.sql
10 -- =============================================
11 -- Author:        <Author,,Name>
12 -- Create date: <Create Date,,>
13 -- Description:    <Description,,>
14 -- =============================================
15 ALTER PROCEDURE [dbo].[sp_test]
16 @ServerName VARCHAR(100)
17 AS
18 BEGIN
19     
20     SET NOCOUNT ON;
21 
22     --如果经常访问或数据量大,建议用链接服务器 
23 
24 --创建链接服务器 
25 exec   sp_addlinkedserver     @ServerName, ' ', 'SQLOLEDB ', '192.168.1.9 ' ;
26 exec   sp_addlinkedsrvlogin   @ServerName, 'false ',null, 'sa ', '251314' ;
27 
28 --查询示例 
29 --declare @tname varchar(20),@num int
30 --set @tname=@ServerName+'.Hik'
31 --declare @sql Nvarchar(1000)=N'select @num=COUNT(*) from '+@tname+'.dbo.Device';
32 --Exec sp_executesql @sql,N'@num int output',@num output
33 --select @num
34 
35 declare @sql Nvarchar(max)=N'select count(*) from '+@ServerName+'.Hik.dbo.Device';
36 Exec sp_executesql @sql;
37 
38 --处理完成后删除链接服务器 
39 exec sp_dropserver  @ServerName, 'droplogins '; 
40 
41 END

我也是在网上找到的资源,然后修改了一下,实现了需求的原形,供大家参考。

转载于:https://www.cnblogs.com/smartsensor/p/4747120.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值