转自:http://www.maomao365.com/?p=6864

转自: http://www.maomao365.com/?p=5277
摘要:
下文重要描述,怎么着对”已上线的种类”中的表,扩大新的字段。

Oracle 数据水库蓄水体量易协同

摘要:


 

下文陈诉选用sql脚本批量刨除全体存款和储蓄进程的议程,如下所示:
尝试景况:sqlserver
二〇〇八 福睿斯2

系统布局脚本,扩张列的主意:
在系统脚本发表中,怎么样是储存进度 自定义函数
视图的校正和新扩展,大家普通选拔以下步骤来编排此类脚本
1 推断目的(存款和储蓄进度 自定义函数
视图)是或不是存在,怎么样存在大家就删除对象(存款和储蓄过程 自定义函数 视图)
2 新建对象
<hr />
唯独增添系统字段(列)时,大家无法利用删除表,然后再次的方法开展脚本管理,
那么我们平时使用
先决断列是不是存在,倘诺空头支票就创造列,若是存在就改善列属性<span
style=”color:red;font-weight:bold;”>(改正列属性–请留神是或不是会潜移暗化历史数据)</span>
例:

前提:


IF NOT EXISTS(SELECT * FROM SYS.COLUMNS 
WHERE OBJECT_ID = OBJECT_ID(N'表名') 
AND NAME = '列名') ---判断列是否存在
begin
---增加列
alter table [表名] 
add column [列名] [列类型]
end
else
begin
---修改列属性
alter table [表名] 
add column [列名] [列类型]
end
  1. 不保险实时性,只是经过job的主意定期同步
  2. 只同步表中的数码,不保留别的数据
  3. 在用脚本初叶化后,无法再扩展表或删除表,或更动表结果,要是爆发则必要再行开首化表。
  4. 在开首化的时候,最棒把数据库改为非归档方式,不然会产生大量的存档日志,尽管归档

平时使用sql脚本,删除存储进度,我们只可以够利用删除命令一条一条的去除存储进度,下文介绍风度翩翩种便利方法,能够对系统中兼有的积攒进度进行删减,
<span style=”color:red;”>
落到实处思路:
1 选拔有时表将储存进程名称缓存
2 通过轮回一时表,输出删除存款和储蓄进度脚本
3 履行脚本

接受上述措施编写sql布署脚本的帮助和益处为,sql脚本得以实行数十次,不会现身报错新闻,能够制止已经手动扩大列的数据库发生铺排错误提醒音信

 

declare @t table(keyId int identity(1,1),tableName varchar(256))
----生成临时表
insert into @t(tableName) 
select [name] from sysobjects where type='P'

declare @i int @iMax int ,@info varchar(256)
set @i =1 
select @imax=max(keyId) from @t as t

while @i <@imax
begin
select @info = t.tableName from @t as t where t.keyId =@i

if @info is not null 
begin
exec ('drop proc '+@info) ---遍历删除存储过程
end 

set @i = @i+1 
set @info =null 
end

* *

方式:

 

  1. 动用数据链的点子将数据从源复制到备份库。
  2. 采取触发器追踪表中多少的成形,包蕴insert,update,delete
  3. 应用job的点子定期同步

 

步骤:

  1. 在源数据库中按顺序践行五个本子:s1.source_create_sync-trigger.sql,s2.source_sync_update_sync_id.sql,s3.source_init.sql.
  2. 在备份库上创办数据库链连接到源库,数据库链名称叫remote
  3. 在备份库上按梯次试行多少个剧本:d1.destination_sync_table_data.sql,d2.destination_sync_all_data.sql,d3.destination_inin_tables.sql.
  4. 调用存款和储蓄进程sync_all_data就能够大器晚成并数据

下载文件:backscript.rar

相关文章