SQL SERVER 2005数据库镜像
通过第七期和第八期的文章,我们了解了SQL SERVER 2005数据库的原理、实现方式以及SQL SERVER 2005在高可用、高性能和高保护模式下会有不同的数据库镜像状态,而且了解了SQL SERVER 2005在不同应用模式下故障转移的方式。接下来,我们将根据以下两类事件对数据库镜像预期的可用性进行分析:
一个或多个服务器或者数据库失败
服务器之间一条或多条通信链路失败
一般来讲,服务器失败可能是由于某个镜像伙伴数据库或者某个SQL SERVER 2005实例不可用。此外,即使服务器本身可以继续运转,但是数据库镜像伙伴服务器之间的通信链路可能中断。以下场景中,两个组件的同时失败被视为一个组件紧接着另一个组件的顺序失败。例如,SERVER A和B出现了同时失败,镜像系统将该事件视为一个顺序事件,顺序为Server A失败然后Server B失败,或者反过来。
使用下面的规则来判定一个不可用事件的预期结果:
1、 当safety设置为FULL时,主服务器需要至少一台其它服务器才能形成quorum来保持数据库可用。如果主服务器无法组成quorum,这时主服务器也就无法提供数据库服务了。
2、 当safety设置为FULL,如果镜像服务器和见证服务器都无法联系到主服务器,那么镜像服务器可以和见证服务器组成quorum,并且改变其角色,使之成为新的主服务器,这就是自动的故障转移。
3、 当safety设置为FULL,如果主服务器和见证服务器合作组成quorum,但是断开了和镜像服务器连接,那么主服务器失败将不允许镜像服务器和见证服务器组成quorum,也不允许镜像服务器承担主服务器的角色,这样可以防止所做的工作由于会话中断而丢失。
4、 当safety设置为FULL,如果失败的主服务器在停机或者孤立后重新加入会话,同时旧的服务器已经承担了主服务器的角色(和见证服务器组成quorum),那么旧的主服务器将在此次会话中承担新镜像服务器角色。
5、 当safety设置为FULL,并且会话中没有见证服务器,或者见证不知何故退出了会话,镜像伙伴服务器的失败将导致无法组成quorum,主服务器也因此不再保持主数据库可以使用。
高可用场景中服务器失败
高可用操作模式下的数据库镜像其目的就是尽可能增加数据库的可用性,在这种模式下,如果主数据库无法访问,那么数据库镜像将迅速使镜像数据库可以接受访问。在下面的高可用场景中,Server A作为主服务器启动,Server B是镜像服务器,而Server W是见证服务器,如图所示:
所有这三台服务器可以在同一个站点使用局域网
相关文档:
例子:
if 1<>1
begin
if 5<0
begin
print('失败')
end
else begin
&nbs ......
1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......
.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接 ......
sql获取字母:
CREATE FUNCTION dbo.F_Get_STR (@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^a-z]%',@S)>0
BEGIN
&n ......