针对 SAP 数据库维护 SQL Server 的十大最佳实践
作者
:
Takayuki Hoshino
撰稿人
:
Juergen Thomas
技
术
审阅人
:
Sanjay Mishra
SQL Server 为 SAP 应用程序提供了卓越的数据库平台。下列建议概述了针对 SAP 实现维护 SQL Server 数据库的最佳做法。
每天执行完整数据库备份
从
技术角度来说,联机备份 SAP 数据库不成问题。这意味着,最终用户或夜间批处理作业可以继续使用 SAP 应用程序而不会出问题。SQL
Server 备份占用的 CPU 资源很少。但是,SQL Server 备份要求较高的 I/O 带宽,因为 SQL Server
会尝试将每个使用过的区读入备份设备。SAP 所需的一切(业务数据、元数据和 ABAP
应用程序等)均包含在一个名为“<SID>”的数据库中。有时,进行完整备份所需的时间(通常为几个小时)可能会成为问题,特别是在
SQL Server 2000 中,因为在其中执行联机数据库备份时,无法进行事务日志备份。SQL Server 2005 不存在此问题。
为
了使用 SAN 技术创建更快的联机备份,SQL Server 提供了可供 SAN 供应商执行快照备份或克隆 SQL Server
数据库的接口。但是,每晚备份数千吉的数据对备份基础结构来说可能负荷过重。另外一种可行的做法是每天对 SAP
数据库执行差异备份,只在周末进行完整数据库备份。
每
10
到
30
分钟执行一次事务日志备份
在
生产服务器发生灾难时,要想还原到最近的状态,除了使用联机数据库备份或差异数据库备份之外,还需要使用与灾难发生时间尽可能接近的一系列事务日志备份,
这一点十分重要。因此,定期执行事务日志备份至关重要。如果每两小时才创建一次事务日志备份,则在发生灾难的情况下,可能会有长达两小时内提交的事务无法
还原。因此,请尽可能经常备份事务日志,这样,在发生灾难时,可以降低丢失大量已提交事务的风险。在许多客户的生产应用场景中已经证明,10-30
分钟的时间间隔是可以接受的频率。但是,在使用 SQL Server 日志传送的情况下,甚至可以每隔 2 分钟或 5 分钟就创建一次 SQL
Server 事务日志备份。最短时,可达到每分钟执行一次由 SQL 代理安排的 SQL Server
事务日志备份。在减小丢失事务风险的同时,事务日志备份还可以截断 SQL Server 事务日志中的日志数据,避免事务日志写满。
配置更改时备份系统分区
每次配置更改时,应备份系统分区。使用 Windows Server 2003 自动系统恢复 (ASR)
或其他工具,如 Symantec Ghost 或 SAN Boot 还原系统分区。
配置更改时备份系统
相关文档:
第一步:下载安装Oracle 10g Release 2 客户端软件,下载连接是:
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
下载后安装
第二步:下载安装Oracle ODAC,下载连接是:
http://download.oracle.com/otn/other/ole-oo4o/ODAC1020221.exe
第三步: 重启MS SQ ......
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间 ......
为了公司考勤系统的需要
编写的几个简单存储过程(可以手动运行,也可以设置事务自动运行!感觉还行比较通用,写出来共享下)
Calendar表结构很简单,2个字段:
fdDate 日期
fdType 考勤类型(工作日N,周末W,节假日H[需要根据需要自己修改])
--判断一段时间范围内的工作日(N)和周末(W)
Create PR ......
SQL Server 2000中,insert数据的时候返回自动编号的id,有三种方法实现SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。
IDENT_CURRENT :返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任 ......