三、建立镜像关系
以下步骤是针对每个数据库进行的,例如:现有主机中有5个数据库以下过程就要执行5次。
1、手工同步登录名和密码
在第一章中提到数据库镜像的缺点之一是无法维护登录名,所以需要我们手工维护登录。
通常来说数据库都将会有若干个用户作为访问数据库的用户,并且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用’myuser’作为登录名访问数据库,但是在备机中没有’myuser’这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为”孤立用户”
在主数据库中执行如下语句:
1USE master;
2select sid,name from syslogins;
3
查找出相应的用户名和sid,例如:上述的’myuser’
在备数据库中执行如下语句:
1USE master;
2exec sp_addlogin
3@loginame = ’
4@passwd = ’
5@sid =
6
这里的’LoginName’即主数据库中的登录名,sid即是上述通过SQL语句查找出的sid。
例如,查询得到的sid和name如下所示。
1sid name
2
3———————————- —————–
4
50x074477739DCA0E499C29394FFFC4ADE4 cz_account
6
7
则建立登录名的SQL语句:
1USE master;
2exec sp_addlogin
3@loginame = ’cz_account’,
4@passwd = ’password’,
5@sid = 0x074477739DCA0E499C29394FFFC4ADE4;
6
到此为止可以认为备机数据库的环境已经与主机同步了,还差数据库内的数据未同步。
2、准备备机数据库
承接上文,该节是描述如何同步主备数据库内的数据。
可以尝试从刚刚使用的全备文件进行还原,在还原数据的时候需要使用选上“with non recover”。如图所示:
如果执行成功数据库将会变成这个样子:
3、建立镜像
由于是实验,没有为服务器配置双网卡,IP地址与图有点不一样,但是原理一样。
–主机执行:
1alter DATABASE shishan SET PARTNER = ’TCP://10.168.6.45:5022’;
–如果主体执行不成功,尝试在备机中执行如下语句:
1alter DATABASE shishan SET PARTNER = ’TCP://10.168.6.49:5022’;
如果执行成功,则主备数据库将会呈现如上图所示的图标。
如果建立失败,提示类似数据库事务日志未同步,则说主备数据库的数据(日志)未同步,为保证主备数据库内的数据一致,应在主数据库中实施一次“事务日志”备份,并还原到备数据库上。备份“事务日志”如图所示:
还原事务日志时需在选项中选择“restore with norecovery”,如图所示:
成功还原以后再执行建立镜像的SQL语句。
四、测试操作
1、主备互换
–主机执行:
1USE master;
2alter DATABASE
3
2、主服务器Down掉,备机紧急启动并且开始服务
–备机执行:
1USE master;
2alter DATABASE
3
3、原来的主服务器恢复,可以继续工作,需要重新设定镜像
1–备机执行:
2USE master;
3alter DATABASE
4alter DATABASE
5
4、原来的主服务器恢复,可以继续工作
–默认情况下,事务安全级别的设置为 FULL,即同步运行模式,而且SQL Server 2005 标准版只支持同步模式。
–关闭事务安全可将会话切换到异步运行模式,该模式可使性能达到最佳。
1USE master;
2alter DATABASE
3alter DATABASE
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。