用于优化环境的配置后步骤
配置后步骤可帮助提高性能、维护 BizTalk 环境和安装 EDI 架构。
禁用 SQL Server 中的 Shared Memory 协议
- 打开 SQL Server 配置管理器>展开MSSQLSERVERSQL Server网络配置>协议。
- 右键单击“ 共享内存>禁用”。
- 选择“SQL Server服务”,右键单击“SQL Server (MSSQLServer) >重启”。
- 关闭SQL Server 配置管理器。
配置 SQL 代理作业
打开SQL Server Management Studio并连接到数据库引擎。
依次展开“SQL Server 代理”和“作业”。 配置下列作业:
备份BizTalk Server:备份BizTalk Server数据库和日志文件。 在配置该作业时,需要确定频率和文件位置等参数。
以下链接介绍了 SQL 代理作业及其参数:
此 SQL 代理作业还会截断事务日志,这有助于改进性能。
此作业不会删除备份文件,包括较旧的文件。 要删除备份文件,请参阅当备份文件在 Microsoft BizTalk Server 数据库服务器中累积一段时间后,“备份 BizTalk Server”作业失败。
DTA 清除和存档:截断并存档BizTalk Server跟踪数据库 (BizTalkDTADb) 。 在配置该作业时,需要确定已完成实例的保留天数以及所有数据的保留天数等参数。
以下链接介绍了 SQL 代理作业及其参数:
此 SQL 代理作业通过维护跟踪主机和清除跟踪事件来直接影响性能。
维护备份文件
BizTalk Server 不包括任何会删除备份文件的作业。 结果是,维护备份文件的方式由用户决定。 许多用户创建 sp_DeleteBackupHistoryAndFiles 存储过程,然后再在备份 BizTalk Server 作业中直接调用此存储过程。 某些用户会创建维护计划。 由你选择。 本主题列出了这两个选项。
选项 1:创建 sp_DeleteBackupHistoryAndFiles 存储过程
在“SQL Server Management Studio”中,选择 BizTalk 管理数据库 (BizTalkMgmtDb)。
选择“新建查询”,并运行以下 T-SQL 脚本以创建
sp_DeleteBackupHistoryAndFiles
(BizTalk Server 2016) 或sp_DeleteBackupHistoryAndFiles2013
(BizTalk Server 2013 R2 及更早的) 存储过程:sp_DeleteBackupHistoryAndFiles (BizTalk Server 2016 及更新)
CREATE PROCEDURE [dbo].[sp_DeleteBackupHistoryAndFiles] @DaysToKeep smallint = null AS BEGIN set nocount on IF @DaysToKeep IS NULL OR @DaysToKeep <= 1 RETURN /* Only delete full sets If a set spans a day in such a way that some items fall into the deleted group and the other does not, do not delete the set */ /* First delete MarkName from all other databases */ declare @BackupServer sysname ,@BackupDB sysname, @tsql nvarchar(1024), @MarkToBeDeleted nvarchar(128) DECLARE BackupDB_Cursor insensitive cursor for SELECT ServerName, DatabaseName FROM admv_BackupDatabases ORDER BY ServerName open BackupDB_Cursor SELECT @MarkToBeDeleted = MAX([MarkName]) FROM [dbo].[adm_BackupHistory] [h1] WHERE [BackupType] = 'lg' AND datediff( dd, [BackupDateTime], getdate() ) >= @DaysToKeep AND [BackupSetId] NOT IN ( SELECT [BackupSetId] FROM [dbo].[adm_BackupHistory] [h2] WHERE [h2].[BackupSetId] = [h1].[BackupSetId] AND datediff( dd, [h2].[BackupDateTime], getdate() ) < @DaysToKeep AND [h2].[BackupType] = 'lg') AND EXISTS( SELECT TOP 1 1 FROM [dbo].[adm_BackupHistory] [h2] WHERE [h2].[BackupSetId] > [h1].[BackupSetId] AND [h2].[BackupType] = 'lg') fetch next from BackupDB_Cursor into @BackupServer, @BackupDB while @@fetch_status = 0 begin set @tsql = '[' + @BackupServer + '].[' + @BackupDB + '].[dbo].[sp_CleanUpMarkLog]' exec @tsql @MarkName=@MarkToBeDeleted fetch next from BackupDB_Cursor into @BackupServer, @BackupDB end close BackupDB_Cursor deallocate BackupDB_Cursor DECLARE DeleteBackupFiles CURSOR -- xp_delete_file variant FOR SELECT [BackupFileLocation] + '\' + [BackupFileName] FROM [adm_BackupHistory] -- xp_cmdshell variant -- FOR SELECT 'del "' + [BackupFileLocation] + '\' + [BackupFileName] + '"' FROM [adm_BackupHistory] WHERE datediff( dd, [BackupDateTime], getdate() ) >= @DaysToKeep AND [BackupSetId] NOT IN ( SELECT [BackupSetId] FROM [dbo].[adm_BackupHistory] [h2] WHERE [h2].[BackupSetId] = [BackupSetId] AND datediff( dd, [h2].[BackupDateTime], getdate() ) < @DaysToKeep ) DECLARE @cmd varchar(400) OPEN DeleteBackupFiles FETCH NEXT FROM DeleteBackupFiles INTO @cmd WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN -- xp_delete_file variant EXECUTE master.dbo.xp_delete_file 0, @cmd -- xp_cmdshell variant -- EXEC master.dbo.xp_cmdshell @cmd, NO_OUTPUT delete from [adm_BackupHistory] WHERE CURRENT OF DeleteBackupFiles print @cmd END FETCH NEXT FROM DeleteBackupFiles INTO @cmd END CLOSE DeleteBackupFiles DEALLOCATE DeleteBackupFiles END GO
sp_DeleteBackupHistoryAndFiles2013 (BizTalk 2013 R2 和更早版本的)
CREATE PROCEDURE [dbo].[sp_DeleteBackupHistoryAndFiles2013] @DaysToKeep smallint = null AS BEGIN set nocount on IF @DaysToKeep IS NULL OR @DaysToKeep <= 1 RETURN /* Only delete full sets If a set spans a day in such a way that some items fall into the deleted group and the other does not, do not delete the set */ DECLARE DeleteBackupFiles CURSOR FOR SELECT 'del "' + [BackupFileLocation] + '\' + [BackupFileName] + '"' FROM [adm_BackupHistory] WHERE datediff( dd, [BackupDateTime], getdate() ) >= @DaysToKeep AND [BackupSetId] NOT IN ( SELECT [BackupSetId] FROM [dbo].[adm_BackupHistory] [h2] WHERE [h2].[BackupSetId] = [BackupSetId] AND datediff( dd, [h2].[BackupDateTime], getdate() ) < @DaysToKeep ) DECLARE @cmd varchar(400) OPEN DeleteBackupFiles FETCH NEXT FROM DeleteBackupFiles INTO @cmd WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN EXEC master.dbo.xp_cmdshell @cmd, NO_OUTPUT delete from [adm_BackupHistory] WHERE CURRENT OF DeleteBackupFiles print @cmd END FETCH NEXT FROM DeleteBackupFiles INTO @cmd END CLOSE DeleteBackupFiles DEALLOCATE DeleteBackupFiles END GO
打开“备份BizTalk Server作业>”,选择“步骤”。
编辑 “清除备份历史记录” 步骤,以便调用新的 sp_DeleteBackupHistoryAndFiles 或 sp_DeleteBackupHistoryAndFiles2013 存储过程,而不是以前的 sp_DeleteBackupHistory 存储过程。
选择“确定”,保存所做更改。
选项 2:创建维护计划
- 在“SQL Server Management Studio”中,展开“管理”,右键单击“维护计划”,然后选择“维护计划向导”。
- 例如,将计划命名 (将其命名为“清除备份文件) ”,然后选择“计划”旁边的“更改”按钮。
- 选择备份文件的清除频率。 这些设置完全由用户决定。 选择“确定”,然后选择“下一步”。
- 选择“ 维护清理任务>”“下一步”。
- 在 “清理任务” 窗口中,转到 “搜索文件夹并删除文件...”,选择备份文件夹 (可能 f:\BizTalkBackUps) ,然后输入 .bak 表示文件扩展名。 还可以选择根据保留时间删除文件。 例如,如果想删除早于 3 周的文件,则输入 3。 选择“下一步”。
- 完成向导并输入所需的任何其他信息。 选择“完成”。
安装 EDI 架构和更多 EDI AS2 配置
EANCOM、EDIFACT、HIPAA 和 X12 架构文件包含在名为 MicrosoftEdiXSDTemplates.exe 的自解压可执行文件中。 若要创建 EDI 解决方案,请解压缩这些文件,并与项目一起部署。 若要安装并解压缩这些文件:
运行BizTalk Server安装,并安装开发人员工具和 SDK 组件。 此组件将 MicrosoftEdiXSDTemplates.exe EDI 架构文件下载到 \XSD_Schema\EDI 文件夹。
注意
如果升级BizTalk Server,安装中的 MicrosoftEdiXSDTemplates.exe 文件将替换为与升级关联的新 MicrosoftEdiXSDTemplates.exe 文件。 如果需要上一个架构,则备份上一个 MicrosoftEdiXSDTemplates.exe 文件。
注意
如果在将BizTalk Server升级到更高版本时升级消息架构,则可能在使用更新后的架构时遇到问题,或者可能需要执行其他更新步骤。 请参阅更新应用程序的重要注意事项中的“更新架构的注意事项”部分
转到 \Program Files (x86) \Microsoft BizTalk Server <VERSION>\XSD_Schema\EDI,然后双击“MicrosoftEdiXSDTemplates.exe”。
将架构提取到 \Program Files (x86) \Microsoft BizTalk Server <VERSION>\XSD_Schema\EDI。 解压缩架构时,它们存储在 EANCOM、EDIFACT、HIPAA 和 X12 文件夹中。
添加对 BizTalk Server EDI 应用程序的引用
EDI 架构、管道和业务流程部署在 BizTalk EDI 应用程序中。 若要将任何其他应用程序用作 EDI 应用程序,请添加对 BizTalk EDI 应用程序的引用。 步骤:
在BizTalk Server管理控制台中,展开“应用程序”。 右键单击要用于 EDI (的应用程序(例如 BizTalk Application 1) ),选择“ 添加”,然后选择“ 引用”。
选择“ BizTalk EDI 应用程序”,然后选择“ 确定” 以保存更改。
提示
若要查看对其他应用程序的引用,请右键单击任意应用程序,然后选择“ 属性”。 选择“引用”。 还可以添加新的引用,然后删除现有的引用。
注意
请勿将自定义项目添加到 BizTalk EDI 应用程序中。 最好是将应用程序保留原样。
开始批处理业务流程
若要使参与方能够接收和/或发送 EDI 批,则启动批处理业务流程。 这些业务流程不是由安装向导或配置向导启动的。 步骤:
在“BizTalk Server管理控制台”中,展开“BizTalk EDI 应用程序”,然后选择“业务流程”。
右键单击以下每个业务流程,然后选择“ 启动”:
Microsoft.BizTalk.Edi.BatchSuspendOrchestration.BatchElementSuspendService(程序集:Microsoft.BizTalk.Edi.BatchingOrchestration.dll)
Microsoft.BizTalk.Edi.BatchingOrchestration.BatchingService(程序集:Microsoft.BizTalk.Edi.BatchingOrchestration.dll)
Microsoft.BizTalk.Edi.RoutingOrchestration.BatchRoutingService(程序集:Microsoft.BizTalk.Edi.RoutingOrchestration.dll)
注意
EDI 批处理业务流程只能在要接收和/或发送 EDI 批的情况下启动。 如果在系统不接收或发送 EDI 批的情况下启动该业务流程可能会影响系统性能。
从以前的 BizTalk 版本迁移 EDI 项目
BizTalk Server 2010 及更新版本中更新了BizTalk Server中管理贸易合作伙伴的方式。 在以前的BizTalk Server版本中,仅为贸易合作伙伴创建了一个群,而不是为托管BizTalk Server的合作伙伴创建。 在 BizTalk Server 2010 及更新版中,必须为所有贸易合作伙伴(包括托管BizTalk Server的合作伙伴)创建一个群。 在以前的BizTalk Server版本中,编码 (X12 和 EDIFACT) 以及传输 (AS2) 协议属性是在参与方级别定义的。 在 BizTalk Server 2010 及更新版本中,这些属性通过协议定义。
若要从以前的版本迁移参与方数据,BizTalk Server包含参与方迁移工具。 请考虑以下迁移路径:
BizTalk Server 版本 | 迁移路径 |
---|---|
BizTalk Server 2006 R2 | 升级到 BizTalk Server 2009。 然后,使用 BizTalk Server 2013/2013 R2 附带的 Party 迁移工具迁移到 BizTalk Server 2013/2013 R2。 或者,使用 BizTalk Server 2013/2013 R2 附带的 Party 迁移工具迁移到 BizTalk Server 2010。 然后,升级到 BizTalk Server 2013/2013 R2。 |
BizTalk Server 2009 | 使用 BizTalk Server 2013/2013 R2 附带的 Party 迁移工具直接迁移到 BizTalk Server 2013/2013 R2。 |
BizTalk Server 2010 | 升级到 BizTalk Server 2013/2013 R2。 |
Party 迁移工具在 \PartyMigrationTool 文件夹下的BizTalk Server媒体上可用。
BizTalk 运行状况监视器 (BHM)
BizTalk 运行状况监视器提供了仪表板,可创建和查看 MessageBox 查看器报表、创建自定义查询、运行终止符任务、监视多个 BizTalk 环境等。 如果负责 BizTalk 环境,建议安装并使用此工具检查 BizTalk 环境的运行状况,以及对其进行维护。
关键链接:
创建主机和主机实例
建议将某些关键任务分到不同的主机。 例如,始终创建只专用于跟踪的独立主机。 创建另一个主机/主机实例以侧重于接收消息,再创建另一个主机/主机实例用于发送消息,以及另一个用于业务流程的主机/主机实例。
这一领域有许多相关建议。 下面是一些可帮助入门的建议:
最佳做法:创建并配置 BizTalk Server 主机和主机
用于创建和配置BizTalk Server主机、主机实例和处理程序的 PowerShell
BizTalk Server Resources on the TechNet Wiki(TechNet Wiki 上的 BizTalk Server 资源)