数据安全是当今社会发展进程中极为重要的一个组成部分,随着网络空间的发达,数据安全受到了更多的关注与重视。维护数据安全的一种有效的保障措施就是采用SQL Server的主主复制技术,其原理是多台服务器建立主从关系,当主服务器进行数据库相关操作时,其变动的数据实时发送给从服务器,也就是更新的数据实现实时的复制,从而确保数据安全性。
实施SQL Server主主复制技术有若干因素需要考虑,首先就是设计主从服务器,最好能够保持两台服务器硬件配置一致,特别是处理器及内存,使用相同的操作系统,比如Windows Server。其次,在服务器上安装好SQL Server,用于建立主从的数据库;同时安装官方提供的SQL Server主从复制工具,最新版本是SQL Server 2008 R2;然后配置两台具有复制功能的服务器之间的网络环境,确保两台服务器能够相互通信。
接着,可以使用SQL Server主从复制工具开始设置复制,首先使用Publish/Subscribe Wizard这个向导为两台服务器分别建立登录Service Broker;在主服务器上使用Create Publication Wizard建立发布,想要复制的数据库和表;接着,使用Create Subscription Wizard在从服务器上建立订阅;最后,使用Configure Agent Security分配登录服务器的账号,确保每台服务器上的SQL Server Agent能够正常运行,启动复制。完成上述步骤,两台服务器就已经建立完成复制,可以检查测试复制的数据是否正确完成。
以上就是采用SQL Server主主复制技术保障数据安全的一般步骤,复制的过程采用官方提供的向导,易操作且可靠,做到只需配置即可完成复制,确保数据的安全性。
例代码:
USE master;
GO
— Create a publish database
CREATE DATABASE AdventureWorksPublish
GO
— Create a subscription database
CREATE DATABASE AdventureWorksSubscribe
GO
— Create a login and user on the publication database
CREATE LOGIN testLogin WITH PASSWORD = ‘P@ssw0rd’;
GO
CREATE USER testUser FOR LOGIN testLogin;
GO
— Create a Publication on the publication database
USE AdventureWorksPublish
GO
EXEC sp_replicationdboption @dbname = N’AdventureWorksPublish’,
@optname = N’publish’, @value = N’true’
GO
EXEC sp_addpublication @publication = N’AdventureWorksPublish’,
@description = N’Transactional publication of database ”AdventureWorksPublish” from
Publisher ”MFATPCSQLG001”.’ ,
@sync_method = N’concurrent’,
@retention = 0,
@allow_push = N’true’,
@allow_pull = N’true’,
@allow_anonymous = N’true’,
@enabled_for_internet = N’false’,
@snapshot_in_defaultfolder = N’true’,
@compress_snapshot = N’false’,
@ftp_port = 21,
@ftp_subdirectory = N”,
@ftp_login = N’anonymous’,
@allow_subscription_copy = N’false’,
@add_to_active_directory = N’false’,
@dynamic_filters = N’false’,
@repl_freq = N’continuous’,
@status = N’active’,
@independent_agent = N’true’,
@immediate_sync = N’true’,
@allow_sync_tran = N’false’,
@autogen_sync_procs = N’false’,
@allow_queued_tran = N’false’,
@allow_dts = N’false’,
@replicate_ddl = 1
GO
— Create a subscription on the subscription database
USE AdventureWorksSubscribe;
GO
EXEC sp_addsubscription
@publication = N’AdventureWorksPublish’,
@subscriber = N’MFATPCSQLCs002′,
@destination_db = N’AdventureWorksSubscribe’,
@sync_type = N’automatic’,
@article = ‘all’,
@update_mode = N’read only’,
@subscriber_type = 0
GO