手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mssql>列表

SQL

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
角色变更、角色互换、连同监控服务器所在位置

Step 4: 通知监控服务器角色已变更 SQL Server 2000 的日志传送会在监控服务器上安装监控工具程式;最好是在第三台服务器。为了通知监控服务器日志传送的角色已过变更,您必须在监控服务器上执行 sp_change_monitor_role 预存程式,如程式代码列表3所示。尽管名称内含有 change 字眼,但他并不会变更监控服务器的角色。相反地,此预存程式会变更主要/次要服务器内档案分享所参照(reference)的位置。意思是说:监控服务器 log_shipping_secondaries 资料表内原先参照旧次要服务器的资料会被删除。而在 log_shipping_primaries 资料表内则是将旧主要服务器名称更改为新主要服务器名称。此预存程式并不会将资料新增到 log_shipping_secondaries 资料表,因为新的配对服务器现在尚未建置。

程式代码列表 3: 将角色互换结果通知监控服务器之预存程式。

USE master
GO
EXEC msdb.dbo.sp_change_monitor_role
@primary_server = 'oahu\sql2k_1' ,
@secondary_server = 'oahu\sql2k_2',
@database = 'Pubscopy',
@new_source = 'oahu\sql2k_2'

步骤 5: 在次要服务器上解析登入帐号 您必须先在新主要服务器上解析旧主要服务器登入帐号,使用者才能够存取新主要服务器;方式是使用步骤1所汇出之登入帐号档案。此汇出档案可被 sp_resolve_logins 预存程式所读取,然后解析各服务器间 SID 的差异。举例来说,程式代码列表4示范如何在新复原的 Pubscopy 数据库上执行 sp_resolve_logins 预存程式,去解析原来的登入帐号。BOL文章曾教导您必须在目的数据库内才能执行该预存程式。事实上,sp_resolve_logins 使用了非完整式参照(unqualified reference)指向 syslogins 视观表,所以您必须在 master 数据库内才能执行此预存程式!

程式代码列表4: 在次要服务器上解析登入帐号的预存程式。

USE master
GO
EXEC sp_resolve_logins
@dest_db = 'Pubscopy',
@dest_path = 'd:\',
@filename = 'syslogins.dat'
步骤 6: 连结数据库存取和权限 BOL 对于角色变更的相关讨论仅止于步骤5,但是他忽略一个重要步骤:在 "数据库存取权限" 和 "转移后登入帐号" 之间进行协调动作。为了在新主要服务器内线上数据库,将移转后已解析的登入帐号连结至相对应的数据库使用者及其权限,您必须执行针对每个登入帐号执行一次 sp_change_users_login 预存程式。
USE pubscopy
GO
EXEC sp_change_users_login 'Update_One', 'UserName', 'LoginName'

执行该预存程式可确保 SQL Server 登入帐号能够正确地连结相对应的数据库使用者名称。

到此为止,您已成功地将次要服务器升级为新的角色,而旧主要服务器也早已变成次要服务器。然而,您仍然尚未建置新的日志传送关系。您完成的只是角色变更,而不是角色互换

[1] [2] 下一页


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!