从一个实例向另一个实例发送SQL Server Service Broker信息最安全的方法是使用证书以确保通信安全。虽然这是最安全方法,但它比普通SQL Server或Windows身份验证技术要复杂得多。 为实现本文的目的,我们将从购物车数据库向购票系统数据库发送信息。购物车数据库安装在SQL1服务器上而购票系统数据库安装在SQL2上,两者在不同的服务器上。
所有的这些声明全部运行在每个实例的主数据库上。 首先需要设置每个实例的主密钥。使用CREATE MASTER KEY声明可以实现。这个密码是实例加密的关键,所以要用一个复杂的。
创建主密钥成功后,你需要修改并配置它以便由服务主密钥……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
从一个实例向另一个实例发送SQL Server Service Broker信息最安全的方法是使用证书以确保通信安全。虽然这是最安全方法,但它比普通SQL Server或Windows身份验证技术要复杂得多。
为实现本文的目的,我们将从购物车数据库向购票系统数据库发送信息。购物车数据库安装在SQL1服务器上而购票系统数据库安装在SQL2上,两者在不同的服务器上。所有的这些声明全部运行在每个实例的主数据库上。
首先需要设置每个实例的主密钥。使用CREATE MASTER KEY声明可以实现。这个密码是实例加密的关键,所以要用一个复杂的。创建主密钥成功后,你需要修改并配置它以便由服务主密钥加密。服务主密钥是由SQL Server实例来生成和维护的。这就允许SQL Server实例在不设密码的前提下为主数据库打开任何数据库主密钥。
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='YourVeryLongSecurePassword!' GO ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY GO |
主密钥创建成功后,你就可以用CREATE CERTIFICATE声明来创建证书了。你要为证书来指定名称、主题、起始日期和终止日期。这将基于数据库主密钥来创建一个一个证书而不是基于密码。如果实例被许多应用程序共享,那么你应该用一些更加通用的名称。
CREATE CERTIFICATE ServiceBrokerCert_SQL1 WITH SUBJECT = 'Service Broker Certificate', START_DATE = '1/1/2009', EXPIRY_DATE = '12/31/2099' GO |
在第二个实例中创建不同名称的证书。
CREATE CERTIFICATE ServiceBrokerCert_SQL2 WITH SUBJECT = 'Service Broker Certificate', START_DATE = '1/1/2009', EXPIRY_DATE = '12/31/2099' GO |
证书创建的工作完成后,你需要创建并配置Service Broker端点以便验证。你可以用CREATE ENDPOINT声明来完成这一动作,指出要用FOR SERVICE_BROKER选项并给出指定证书。在这个例子中,要求通信加密,并使用RC4加密法则。
可供选择的加密方案有以下几种:
RC4——在实例中使用RC4加密法则配置端点。
AES——在实例中使用AES加密法则配置端点。
AES RC4——先使用AES加密算法配置端点,然后使用RC4加密。
RC4 AES——先使用RC4加密算法配置端点,然后使用AES加密。
CREATE ENDPOINT [ServiceBrokerEndpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 1234, ;LISTENER_IP = ALL) FOR SERVICE_BROKER(MESSAGE_FORWARDING = DISABLED, MESSAGE_FORWARD_SIZE = 10, AUTHENTICATION = CERTIFICATE ServiceBrokerCert_Cart, ENCRYPTION = REQUIRED ALGORITHM RC4) GO |
作者
翻译
相关推荐
-
云端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升级向导。