1. 什么是SQLServer中继?
SQLServer中继是SQLServer中用于复制数据库和事务日志的一种技术。通过SQLServer中继,我们可以将一个数据库的更改同步到其他服务器上。
SQLServer中继可以在同一个服务器的不同数据库间进行复制,也可以在不同的服务器之间进行复制。
SQLServer中继是SQLServer Replication的一种形式。
2. 配置SQLServer中继的前提条件
要在SQLServer上配置中继,需要满足以下条件:
2.1 启用事务复制
事务复制是SQLServer中继的一种复制方式。启用事务复制有以下两种方法:
2.1.1 使用SQL Server Management Studio
1. 在SQLServer Management Studio中,右键单击要启用事务复制的数据库,选择“属性”。
2. 在“属性”窗口中,选择“选项”页。
3. 在“选项”页中,确保“允许事务复制”选项被选中。
4. 单击“确定”按钮保存更改。
2.1.2 使用T-SQL命令
ALTER DATABASE [database_name] SET ENABLE_BROKER
其中,[database_name]为要启用事务复制的数据库名。
2.2 确保各个服务器之间可以相互访问
在配置中继之前,需要确保各个SQLServer可以相互访问。
可以使用ping命令测试各个服务器之间的连通性。
3. 配置SQLServer中继
按照以下步骤可以配置SQLServer中继:
3.1 配置发布服务器
要配置发布服务器,需要在SQLServer Management Studio中执行以下操作:
3.1.1 创建发布器
1. 在SQLServer Management Studio中,单击“复制”文件夹,然后右键单击“发布器”节点,选择“新建发布器”。
2. 在“新建发布器向导”中,单击“下一步”按钮,选择要发布的服务器,单击“下一步”按钮。
3. 在“订阅类型”页面中,选择“发布服务器是独立的发布服务器”,单击“下一步”按钮。
4. 在“发布者身份验证”页面中,选择“使用SQL Server身份验证”,输入SQL Server身份验证的用户名和密码,单击“下一步”按钮。
5. 在“完成”页面中,单击“完成”按钮,完成发布器的创建。
3.1.2 创建发布数据库
1. 在SQLServer Management Studio中,右键单击“数据库”文件夹,选择“新建数据库”。
2. 在“新建数据库”对话框中,指定数据库名称和位置,单击“确定”按钮。
3. 在“新建发布向导”中,单击“下一步”按钮,选择要发布的数据库,单击“下一步”按钮。
4. 在“发布类型”页面中,选择要使用的发布类型,单击“下一步”按钮。
5. 在“订阅定义”页面中,输入订阅者的服务器名称和目录路径,单击“下一步”按钮。
6. 在“完成”页面中,单击“完成”按钮,完成发布数据库的创建。
3.1.3 创建共享文件夹
1. 在发布服务器上,创建一个共享文件夹。
2. 在SQLServer Management Studio中,右键单击“发布器”节点,选择“属性”。
3. 在“属性”窗口中,选择“发布设置”页,指定共享文件夹的路径,单击“确定”按钮保存更改。
3.2 配置订阅服务器
要配置订阅服务器,需要执行以下操作:
3.2.1 创建订阅数据库
1. 在SQLServer Management Studio中,右键单击“数据库”文件夹,选择“新建数据库”。
2. 在“新建数据库”对话框中,指定数据库名称和位置,单击“确定”按钮。
3. 在“新建订阅向导”中,单击“下一步”按钮,选择“创建一个订阅服务器”,单击“下一步”按钮。
4. 在“发行人服务器”页面中,指定发布服务器的名称和目录路径,单击“下一步”按钮。
5. 在“订阅类型”页面中,选择要使用的订阅类型,单击“下一步”按钮。
6. 在“订阅定义”页面中,输入订阅数据库的名称和位置,单击“下一步”按钮。
7. 在“完成”页面中,单击“完成”按钮,完成订阅数据库的创建。
3.2.2 创建订阅服务器
1. 在SQLServer Management Studio中,单击“复制”文件夹,然后右键单击“订阅服务器”节点,选择“新建订阅服务器”。
2. 在“新建订阅服务器向导”中,单击“下一步”按钮,指定订阅服务器的名称和位置,单击“下一步”按钮。
3. 在“完成”页面中,单击“完成”按钮,完成订阅服务器的创建。
3.3 配置中继代理帐户
要配置中继代理帐户,需要执行以下操作:
3.3.1 创建中继代理帐户
1. 在SQLServer Management Studio中,单击“复制”文件夹,然后右键单击“中继”节点,选择“新建中继”。
2. 在“新建中继向导”中,单击“下一步”按钮,指定中继服务器的名称和位置,单击“下一步”按钮。
3. 在“中继类型”页面中,选择要使用的中继类型,单击“下一步”按钮。
4. 在“代理帐户”页面中,指定中继代理帐户的名称和密码,单击“下一步”按钮。
5. 在“完成”页面中,单击“完成”按钮,完成中继代理帐户的创建。
3.3.2 将中继代理帐户添加到SQLServer中
EXEC master.dbo.sp_addlinkedserver
@server = N'LinkedServerName',
@srvproduct=N'',
@provider=N'SQLOLEDB',
@datasrc=N'server_name',
@provstr=N'Integrated Security=SSPI;'
@catalog=N'db_name'
其中,LinkedServerName是要添加的连接服务器的名称,server_name是中继服务器的名称,db_name是中继数据库的名称。
3.3.3 配置中继代理帐户的权限
GRANT ALTER ANY LINKED SERVER TO [account_name]
GRANT VIEW ANY DEFINITION TO [account_name]
其中,[account_name]是中继代理帐户的名称。
4. 总结
SQLServer中继是一种用于复制数据库和事务日志的一种技术。要在SQLServer上配置中继,需要满足各种前提条件,并且需要按照一定的步骤进行操作。配置中继有助于完成分布式系统的部署。