位置: 编程技术 - 正文

简单实用SQL脚本Part SQLServer 2005 链接服务器(sql脚本语言怎么写)

编辑:rootadmin

推荐整理分享简单实用SQL脚本Part SQLServer 2005 链接服务器(sql脚本语言怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简单实用sql脚本教程,sql脚本怎么运行,简单实用sql脚本怎么写,简单的sql脚本,简单的sql脚本,简单实用sql脚本怎么写,简单的sql脚本,简单实用sql脚本编写,内容如对您有帮助,希望把文章链接给更多的朋友!

适用场景:对远程的DB进行操作。

与对比:在SQL Server 版本中也有链接远程DB的SQL,但是功能比较弱,扩展性差,支持的查询比较简单。而SQL Server 版本的SSMS中已经有了 服务器对象->链接服务器 的功能点,用户首先创建一个远程DB的链接对象,之后就可以像本地表一样执行表的DML了。

创建步骤:在SQL Server 版本打开SSMS,服务器对象->链接服务器->右击 新建链接服务器,在图2中是一种设置方式,也有其它的设置方式,比如:[图解]sqlserver中创建链接服务器,图3是安全性选项中设置远程数据库的账号和密码。

(图1:新建链接)

(图2:设置链接)

简单实用SQL脚本Part SQLServer 2005 链接服务器(sql脚本语言怎么写)

(图3:设置帐号)

注意事项: 在MSSQL中Rpc的默认设置如图4所示, 需要把它设置为图5, 右键点击远程链接->属性->服务器选项->Rpc和Rpc Out,这两个值需要设置为True。

(图4: 默认设置)

(图5: 正确设置)

但在MSSQL下不能直接修改链接服务器 'ETV2_LINK' 的RPC配置成TURE,可以通过语句修改如下:

USE [master]GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'rpc', @optvalue=N'true'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'rpc out', @optvalue=N'true'GO

生成脚本:如果已经通过操作界面生成了 'ETV2_LINK' 的链接服务器,那么我们如果需要把它移植到其它数据库(部署、更新)的时候,就可以通过下面的方法来生产SQL脚本,你也可以通过修改SQL脚本来快速新建或修改链接服务器,比如修改@server链接服务器名称,修改@datasrc远程链接的数据库对象。

(图6: 生成SQL脚本)

SQL Server 生成远程链接对象的SQL脚本: /****** 对象: LinkedServer [ETV2_LINK] 脚本日期: // :: ******/EXEC master.dbo.sp_addlinkedserver @server = N'ETV2_LINK', @srvproduct=N'ETV2_LINK', @provider=N'SQLNCLI', @datasrc=N'BWABWA_2K5'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'collation compatible', @optvalue=N'false'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'data access', @optvalue=N'true'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'dist', @optvalue=N'false'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'pub', @optvalue=N'false'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'rpc', @optvalue=N'true'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'rpc out', @optvalue=N'true'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'sub', @optvalue=N'false'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'connect timeout', @optvalue=N'0'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'collation name', @optvalue=nullGOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'lazy schema validation', @optvalue=N'false'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'query timeout', @optvalue=N'0'GOEXEC master.dbo.sp_serveroption @server=N'ETV2_LINK', @optname=N'use remote collation', @optvalue=N'true'

使用:假设已经创建了名为ETV2_LINK的远程链接对象,那么你就可以像下面的方式来使用这个对象操作远程DB。

使用场景1: 查询ETV2_LINK这个远程链接对象的[etV2_Online]数据库中VisiteLog_表的数据。模板形如:Select * From [链接服务器名].[远程数据库名].[所有者].[表名] --查询远程DB表TableNameselect * from ETV2_LINK.[etV2_Online].dbo.VisiteLog_

使用场景2: 判断ETV2_LINK这个远程链接对象的[etV2_Online]数据库中是否存在名为VisiteLog_的表。

--注意:是sys.objects不是sysobjects--判断远程用户是否存在某张表IF EXISTS (SELECT * FROM ETV2_LINK.[etV2_Online].sys.objects WHERE name = N'VisiteLog_' AND type in (N'U'))BEGIN --逻辑处理 print '存在表'END

使用场景3: 判断远程DB的[etV2_Online]数据库中是否存在名为VisiteLog_的表。只不过这个表名是参数化的,可以通过传入的参数进行判断。这里只是简单的设置变量的值并使用OUT来返回变量。

--判断远程用户是否存在某张表(参数化表名),返回变量DECLARE @IsExistTable VARCHAR()DECLARE @Tablename VARCHAR()DECLARE @sqlString NVARCHAR()SET @IsExistTable = 'False'SET @Tablename = 'VisiteLog_'+convert(varchar(9),getdate()-1,) --例如VisiteLog_SET @sqlString = 'IF EXISTS (SELECT * FROM ETV2_LINK.[etV2_Online].sys.objects WHERE name = N'''+@Tablename+''' AND type in (N''U'')) set @IsExistTableOUT =''True'''EXEC sp_executesql @sqlString,N'@IsExistTableOUT varchar() OUTPUT',@IsExistTableOUT=@IsExistTable OUTPUTIF (@IsExistTable = 'True')--存在BEGIN --逻辑处理 print '存在表'END

补充: SQL Server 版本连接远程服务器的SQL脚本,更多相关脚步可以参考:在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)

--方法1:select * from openrowset('SQLOLEDB','server=..0.;uid=sa;pwd=password','SELECT * FROM BCM2.dbo.tbAppl')--方法2:select * from openrowset('SQLOLEDB','..0.';'sa';'password','SELECT * FROM BCM2.dbo.tbAppl') 作者:听风吹雨

SQL日志收缩方法 1.选中数据库,右键属性/选项,把恢复模式从完整改为简单。2.选中数据库,右键任务/收缩文件,选择日志文件,设置将文件收缩为0M,确定。3.再将恢

解决SQL备份数据库.dat或bak还原时的结构错误的解决方法 远程服务器主机上安装了sqlserver,备份的时候使用虚拟主机自带的还原工具备份数据库为data.dat格式的,在本机sql想还原数据库的时候,出现提示

SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法 办法如下:sqlserver中,导入导出数据是通过SQLServerIntegrationServices(SSIS)实现的,那么可以在SQL的安装目录下找到DTSWizard.exe,例如我的是在C:Progra

标签: sql脚本语言怎么写

本文链接地址:https://www.jiuchutong.com/biancheng/319327.html 转载请保留说明!

上一篇:SQLServer分布式事务问题(mssql分布式数据库)

下一篇:SQL2005日志收缩方法(sql2008收缩日志文件)

  • 金税盘年费能全额抵扣吗
  • 账面成本包含增值税吗
  • 房地产企业递延所得税资产计算方法
  • 销售净收入咋算
  • 转让不动产为什么不填写预缴申报表
  • 公允价值变动损益属于什么科目
  • 其他现代服务业能开哪些税目
  • 外购的商誉如何做账
  • 合作建房如何纳税
  • 暂估费用发票没到会计分录怎么写?
  • 企业微信收款如何同步给别人
  • 未开票收入怎么写分录
  • 个人出租住房缴纳个税可以扣除房产税吗
  • 公司长期应付账款怎么算
  • 由母公司承担子公司债务的财务处理怎么做?
  • 酒店住宿可以开免税发票吗?
  • 新办企业国税报税时间
  • 民间非营利组织有哪些
  • 预提费用的会计科目
  • 一般纳税人附加税费减免政策
  • 医疗卫生机构可以向其他单位或者个人分发第一类疫苗
  • 保税区内的货物交易
  • 企业延期缴纳税款
  • bootmgr is missing怎么手动解决
  • win7安装sqlserver2008
  • bios设置光驱为第一启动项
  • 公司的职工教育是指什么
  • bios中如何关闭cd/dvd
  • 申报高新企业的当年一定要研发费用加计扣除吗
  • win10系统白名单怎么设置
  • 苹果系统权限管理在哪找
  • php数据库添加失败的原因
  • sdstat.exe - sdstat是什么进程 有什么用
  • 补缴的土地出让金需要计提吗
  • PHP:imageellipse()的用法_GD库图像处理函数
  • 营改增允许从销售额中扣
  • php批量更新数据库
  • php采集源码
  • 手把手教你win7换主板不重装系统的方法
  • python单子
  • 外经证过期没核销罚多少钱
  • 代扣代缴应付职工薪酬账务处理
  • phpcms v9官网
  • 暂估收入如何做账
  • 我国营改增后,一般纳税人适用的增值税基本税率
  • 什么不计入税金及附加
  • mysql触发器在哪里建
  • 印花税计税金额是主营业务收入吗
  • sql server 防止表锁死
  • 去年多计提工资今年怎么进行损益调整
  • 销售折扣可以开红字专票吗
  • 行政事业单位拨款请示在前还是发票在前
  • 支付货款订金入什么科目
  • 社保计入管理费用什么科目
  • 交车辆购置税需要什么材料
  • 营业外支出明细账应该采用的格式是
  • 销售完一定要结工资吗
  • 装修工程人工费占总价比例
  • 为什么看科目四看不进去呀
  • mysql5.0使用教程
  • microsoft window vista
  • ubuntu系统安装无线网卡驱动
  • nec笔记本电脑开机屏幕没反应
  • win7密码输入错误被锁住
  • win8设备管理器在哪里打开
  • Centos 6.4 安装dnsmasq的方法
  • 解决登陆xp系统问题
  • win8系统怎样
  • outpost.exe - outpost是什么进程 有什么用
  • linux怎么安装sh
  • 网页设计布局设计
  • css盒子模型示意图
  • vue动态引入模块
  • js中函数定义有哪几种方式
  • cmd切换到当前目录
  • JQueryEasyUI之DataGrid数据显示
  • javascript教程
  • 详解增发万亿国债细节
  • python操作db2数据库
  • 未到申报期可以提前抄税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设