sql-server订阅发布新增表自动发布

sql-server订阅发布新增表自动发布

ID:44893164

大小:130.91 KB

页数:4页

时间:2019-11-01

sql-server订阅发布新增表自动发布_第1页
sql-server订阅发布新增表自动发布_第2页
sql-server订阅发布新增表自动发布_第3页
sql-server订阅发布新增表自动发布_第4页
资源描述:

《sql-server订阅发布新增表自动发布》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在SQLserver部署发布订阅功能后,经常会遇到新表需要加入发布功能的问题。简单的处理方法是在发布服务器打开sqlserver管理工具,依次展开:复制->本地发布,然后右击发布名称,然后对发布属性的项目选项页中的发布对象进行勾选这种方法操作简单,但是每次需要在发布项目中增加新表时,都要手动操作一遍。现在介绍一种可以自动发布新表的方法。该方法需要一个脚本,脚本的内容是检查指定数据库中是否有表没有发布,如果表没有发布,就调用系统过程sp_addarticle进行发布。该脚本被设置为,快照执行前执行,设置如下1、右击发布发布名称,在弹出的对话框中点击“启动复制监视器”2、点击右边的“代理”选择

2、页,并双击下方表格中的记录1、点击快照代理窗口的菜单:操作->作业属性2、点击作业属性窗口的步骤标签3、在右边的作用步骤列表中增加一个步骤,步骤的内容就是把没有发布的表进行发布4、点击插入按钮5、在新建步骤窗口填写内容脚本内容如下(根据实际情况,修改发布名称和发布数据库名称)declare@publicationvarchar(50)declare@dbNamevarchar(50)declare@tableNamevarchar(100)declare@sqlvarchar(max)set@publication='MyPublic'--发布名称set@dbName='TestDB'–数

3、据库名称--游标遍历数据库中的所有表DECLAREGRID_CURCURSORFORSELECTNameFROMSysObjectsWhereXType='U'andcategory<>2ORDERBYName--category=2为系统表OpenGRID_CURFetchNextFromGRID_CURinto@tableNamewhile(@@FETCH_STATUS=0)beginset@sql=''ifnotexists(select1fromdbo.sysarticleswherename=@tableName)–没有发布的表begin--生成发布表的执行语句set@sql='

4、execsp_addarticle@publication=N'''+@publication+''','set@sql=@sql+'@article=N'''+@tableName+''','set@sql=@sql+'@source_owner=N''dbo'','set@sql=@sql+'@source_object=N'''+@tableName+''','set@sql=@sql+'@type=N''logbased'','set@sql=@sql+'@description=null,'set@sql=@sql+'@creation_script=null,'set@sql=

5、@sql+'@pre_creation_cmd=N''drop'','set@sql=@sql+'@schema_option=0x000000000803509D,'set@sql=@sql+'@identityrangemanagementoption=N''manual'','set@sql=@sql+'@destination_table=N'''+@tableName+''','set@sql=@sql+'@destination_owner=N''dbo'','set@sql=@sql+'@vertical_partition=N''false'','set@sql=@sql+

6、'@force_invalidate_snapshot=1,'set@sql=@sql+'@ins_cmd=N''CALLsp_MSins_dbo'++@tableName+''','set@sql=@sql+'@del_cmd=N''CALLsp_MSdel_dbo'++@tableName+''','set@sql=@sql+'@upd_cmd=N''CALLsp_MSupd_dbo'++@tableName+''';'exec(@sql)endFetchNextFromGRID_CURinto@tableNameendCloseGRID_CURdeallocateGRID_CUR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。