加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

深入SqlServer2008 数据库同步的两种方式(Sql JOB)的分析介绍

发布时间:2020-05-27 08:03:36 所属栏目:MsSql 来源:互联网
导读:数据库同步是一种比较常用的功能。以下结合我自己的体会整理的,如果有理解不完全或者有误的地方望大牛不理赐教

1、SQL JOB的方式

sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ ,[ @useself = ] 'useself' ]
[,[ @locallogin = ] 'locallogin' ]
[ ,[ @rmtuser = ] 'rmtuser' ]
[ ,[ @rmtpassword = ] 'rmtpassword' ]

@rmtsrvname =] 'rmtsrvname'

的数据类型为 sysname,没有默认设置。

@useself =] 'useself'

的数据类型为 varchar(8),默认设置为 TRUE。true 值指定 SQL Server 验证的登录使用其自己的凭据以连接到 rmtsrvname,而忽略 rmtuserrmtpassword 参数。false 值指定 rmtuserrmtpassword 参数用来连接到特定 localloginrmtsrvname。如果 rmtuserrmtpassword 也设置为 NULL,则连接链接服务器不需使用任何登录或密码。对于 Windows NT 身份验证登录而言,useself true 则无效,除非 Microsoft Windows NT® 环境支持安全帐户委托,并且,提供程序支持 Windows 身份验证(此时不再需要创建值为 true 的映射,不过创建仍然有效)。

@locallogin =] 'locallogin'

的数据类型为 sysname,默认设置为 NULL。NULL 值指定此条目将应用于所有连接到 rmtsrvname 的本地登录。如果值不为 NULL,则 locallogin 可以是一个 SQL Server 登录或 Windows NT 用户。必须授予 Windows NT 用户直接访问 SQL Server 或通过其作为已授予访问权限的组的成员来访问 SQL Server 的权限。

@rmtuser =] 'rmtuser'

false 时,用来连接 rmtsrvname 的用户名,rmtuser 的数据类型为 sysname,默认设置为 NULL。

@rmtpassword =] 'rmtpassword'

相关的密码。rmtpassword 的数据类型为 sysname,默认设置为 NULL。

sp_addlinkedsrvlogin 来指定本地服务器登录链接服务器的登录凭据。

sp_addlinkedserver 自动创建。默认映射说明连接到链接服务器代表的登录时,SQL Server 使用本地登录的用户凭据(等同于将链接服务器的 @useself 设置为 true 时执行 sp_addlinkedsrvlogin)。使用 sp_addlinkedsrvlogin 只可以更改特定的本地服务器的默认映射或添加新映射。若要删除默认映射或任何其它映射,请使用 sp_droplinkedsrvlogin

sp_addlinkedsrvlogin 创建一个预设的登录映射。

sp_dropserver [ @server = ] 'server'
, [ @droplogins = ] { 'droplogins' | NULL} ]

@server =] 'server'

的数据类型为 sysname,没有默认值。server 必须已经存在。

@droplogins =] 'droplogins' | NULL

,那么对于 server,那些相关的远程及链接服务器登录也将被删除。@droplogins 的数据类型为 char(10),带有默认值 NULL。

sp_dropserver 时,会导致一条错误信息,该消息说明:在删除远程或链接服务器之前,必须先删除相关的登录。当删除服务器时,为了删除服务器的所有远程及链接服务器登录,请使用 droplogins 参数。

sp_dropserver。

sysadmin 或 setupadmin 固定服务器角色的成员才可以执行 sp_dropserver

sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。

sp_addlinkedserver [ @server = ] 'server'
[ ,[ @srvproduct = ] 'product_name' ]
[ ,[ @provider = ] 'provider_name' ]
[ ,[ @datasrc = ] 'data_source' ]
[ ,[ @location = ] 'location' ]
[ ,[ @provstr = ] 'provider_string' ]
[ ,[ @catalog = ] 'catalog' ]

@server = ] 'server'

的数据类型为 sysname,没有默认设置。

可以为 servernameinstancename。此链接的服务器可能会被引用为下面示例的数据源:

SELECT *FROM [servernameinstancename.]pubs.dbo.authors. 

,则服务器为该实例的实际名称。

@srvproduct = ] 'product_name'

的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_namedata_sourcelocationprovider_string 以及目录。

@provider = ] 'provider_name'

对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。

@datasrc = ] 'data_source'

的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。

instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。

@location = ] 'location'

的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。

@provstr = ] 'provider_string'

的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。

instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。

@catalog = ] 'catalog'

的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。

sp_addlinkedserver 返回此消息:

Procedure 'sp_addlinkedserver' expects parameter '@server',which was not supplied.

sp_addlinkedserver 返回此消息:

Server added.
用法示例:
EXEC sp_addlinkedserver 'DBLink',' ','SQLOLEDB',"10.0.222.12"

sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ ,[ @useself = ] 'useself' ]
[,[ @locallogin = ] 'locallogin' ]
[ ,[ @rmtuser = ] 'rmtuser' ]
[ ,[ @rmtpassword = ] 'rmtpassword' ]

@rmtsrvname =] 'rmtsrvname'

的数据类型为 sysname,没有默认设置。

@useself =] 'useself'

的数据类型为 varchar(8),默认设置为 TRUE。true 值指定 SQL Server 验证的登录使用其自己的凭据以连接到

,而忽略 rmtuserrmtpassword 参数。false 值指定 rmtuserrmtpassword 参数用来连接到特定 localloginrmtsrvname

rmtpassword 也设置为 NULL,则连接链接服务器不需使用任何登录或密码。对于 Windows NT 身份验证登录而言,useself true 则无效,

的映射,不过创建仍然有效)。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读