如何将现有 Microsoft Dynamics GP、Small Business Financials 或 Small Business Manager 安装转移到运行 SQL Server 的新服务器
本文介绍如何将现有 Microsoft Dynamics GP 安装传输到运行Microsoft SQL Server 的新服务器。 本文还介绍了如何维护用户登录名和数据库。
适用于: Microsoft Dynamics GP
原始 KB 数: 878449
简介
注意
如果当前使用 Web 服务,则没有将 Web 服务移动到新服务器的过程。 如果 Web 服务不会驻留在原始 IIS 服务器上,则必须从原始服务器中删除,并 标记了“删除 SQL 对象和数据 ”选项。 删除后,可以在新服务器上重新安装 Web 服务。
如果使用工作流,则当前没有将工作流移动到新服务器的过程。 必须删除并重新安装工作流。
强烈建议在执行生产环境中的步骤之前,先执行测试环境中的“传输说明”部分中列出的步骤。
Microsoft旧服务器上和新服务器上的 SQL Server 安装可以Microsoft SQL Server 2008 R2 SP1 或更高版本(适用于 GP 2013),Microsoft SQL Server 2012(适用于 GP 2)013/GP 2015/GP 2016),Microsoft SQL Server 2014(适用于 GP 2013 及更高版本),Microsoft SQL Server 2016(适用于 GP 2016 及更高版本), Microsoft SQL Server 2017(适用于 GP 及更高版本),Microsoft SQL Server 2019 或更高版本。 可在以下位置找到系统要求:
传输说明
在旧服务器上,将以下Capture_Logins.sql脚本复制到本地硬盘。 若要获取Capture_Logins.sql脚本,请参阅:
- 对于 SQL Server 2014 及更高版本: 在 SQL Server 实例之间传输登录名和密码
注意
如果链接不起作用,请将其复制并粘贴到新的浏览器,然后重试。
在旧服务器上,运行 Capture_Logins.sql 脚本,使用以下步骤捕获所有 SQL Server 登录名和密码信息。 将捕获财务应用程序使用的所有 SQL Server 登录名、Microsoft业务解决方案 - FRx、个人数据保留器或使用旧服务器上 SQL Server 安装的任何其他应用程序。 根据所使用的 SQL Server 执行以下步骤:
- 对于 SQL Server Management Studio,请执行以下步骤:
- 依次选择“开始”、“所有程序”、“Microsoft SQL Server”,然后选择“SQL Server Management Studio”。
- 在“连接到服务器”窗口中,执行以下步骤:
- 在 “服务器名称 ”框中,键入运行 SQL Server 的服务器的名称。
- 在 “身份验证 ”框中,选择“ SQL 身份验证”。
- 在 “登录 ”框中,键入 sa。
- 在 “密码 ”框中,键入 sa 用户的密码,然后选择“ 连接”。
- 选择“文件”,指向“打开”,然后选择“文件”。
- 在 “查找范围 ”列表中,选择 在步骤 1 中复制到本地硬盘的Capture_Logins.sql 脚本,然后选择“ 打开”。
- 在“连接到数据库引擎”窗口中,执行以下步骤:
- 在 “服务器名称 ”框中,键入运行 SQL Server 的旧服务器的名称。
- 在 “身份验证”框中,选择“ SQL 身份验证”。
- 在 “登录 ”框中,键入 sa。
- 在 “密码 ”框中,键入 sa 用户的密码,然后选择“ 连接”。
- 选择“查询”,指向“结果”,然后选择“结果到文件”。
- 选择 “查询”,然后选择“ 执行”。
- 在“保存结果”窗口中,执行以下步骤:
- 在 “保存” 列表中,选择要保存脚本结果的位置。
- 在 “文件名 ”框中,键入SQLLOGINS.sql,然后选择“ 保存”。
- 对于 SQL Server Management Studio,请执行以下步骤:
对旧服务器上的 DYNAMICS 数据库和所有公司数据库进行完整备份。
在旧服务器上,为每个当前计划的SQL Server 代理作业以及当前设置的每个SQL Server 代理操作员生成 SQL 脚本。 根据所使用的 SQL Server 工具执行这些步骤。
注意
这些步骤适用于 SQL Server Standard、SQL Server Enterprise 或 SQL Server Workgroup Edition。
如果使用 SQL Server Management Studio,请执行以下步骤:
依次选择“开始”、“所有程序”、“Microsoft SQL Server”,然后选择“SQL Server Management Studio”。
在“连接到服务器”窗口中,执行以下步骤:
- 在 “服务器名称 ”框中,键入运行 SQL Server 的服务器的名称。
- 在 “身份验证 ”框中,选择“ SQL 身份验证”。
- 在 “登录 ”框中,键入 sa。
- 在 “密码 ”框中,键入 sa 用户的密码,然后选择“ 连接”。
在“对象资源管理器”窗格中,展开SQL Server 代理,然后展开“作业”以查看所有可用作业。
注意
如果未启动SQL Server 代理,请右键单击SQL Server 代理,然后选择“开始”。
右键单击作业,指向脚本作业,指向“创建目标”,然后选择“文件”。
在“选择文件”窗口中,选择要保存脚本的文件夹,然后键入文件名。 选择“确定”。
对所有作业重复步骤 c 到 e。
在“对象资源管理器”窗格中,展开SQL Server 代理,然后展开“运算符”以查看当前设置的所有运算符。
右键单击某个运算符,指向脚本运算符,指向“创建目标”,然后选择“文件”。
在“选择文件窗口”中,选择要保存脚本的文件夹,然后键入文件名。 选择“确定”。
对所有运算符重复步骤 g 到 i。
在 Windows 资源管理器中,将你在步骤 1 中创建的SQLLOGINS.sql脚本、在步骤 2 中创建的备份文件以及在步骤 3 中创建的SQL Server 代理作业和SQL Server 代理操作员脚本从旧服务器复制到新服务器上的硬盘。
注意
如果使用同一服务器,则无需完成此步骤。
如果尚未安装 SQL Server,请在新服务器上安装 SQL Server。
说明
请确保使用旧服务器上所用的相同排序顺序。 若要获取旧服务器上使用的排序顺序,请在 SQL Server Management Studio 或支持管理员控制台中针对 master 数据库运行以下脚本:
sp_helpsort
以下列表显示了财务应用程序支持的 SQL Server 排序顺序(SQL 排序顺序为 50 或 52):
- 要验证的列:服务器排序规则默认值
列内容:Latin1-General、binary sort
列含义:二进制排序顺序 50 - 要验证的列:服务器排序规则默认值
列内容:Latin1-General、不区分大小写、区分重音、不区分假名、不区分 Unicode 数据的宽度不区分、SQL Server 排序顺序 52(对于非 Unicode 数据)页 1252
列含义:字典顺序不区分大小写 (DOCI) 排序顺序 52
- 要验证的列:服务器排序规则默认值
如果使用的是同一服务器,请在同一台计算机上安装 SQL Server 的新实例。 本文的其余部分使用术语“new server”来引用运行 SQL Server 的新服务器或旧计算机上的 SQL Server 的新实例。
如果在运行 SQL Server 7.0 或 SQL Server 2000 的计算机上安装的数据库,并且将数据库移动到运行 SQL Server 2005 的计算机,则必须在还原后更新每个数据库的数据库兼容性级别。 为此,请遵循 SQL Server Management Studio 中新服务器上的以下步骤:
- 在对象资源管理器区域中,展开“数据库”,右键单击数据库,然后选择“选项”。
- 在 “兼容性 ”框中,选中“ SQL Server 2005(90) ”复选框。
在新服务器上,从在步骤 2 中创建的备份文件中还原 DYNAMICS 数据库。 执行以下步骤:
注意
如果使用相同的服务器,请在同一台计算机上还原 SQL Server 的新实例上的数据库。
如果使用 SQL Server Management Studio,请执行以下步骤:
依次选择“开始”、“所有程序”、“Microsoft SQL Server”,然后选择“SQL Server Management Studio”。
在“连接到服务器”窗口中,执行以下步骤:
在 “服务器名称 ”框中,键入运行 SQL Server 的新服务器的名称。
在 “身份验证 ”框中,选择“ SQL 身份验证”。
在 “登录 ”框中,键入 sa。
在 “密码 ”框中,键入 sa 用户的密码,然后选择“ 连接”。
在对象资源管理器区域中,右键单击“数据库”,然后选择“还原数据库”。
在 “还原 目标”区域中,在 “到数据库 ”框中键入 DYNAMICS。
在“还原源”区域中,选择“从设备”,然后选择省略号按钮以打开“指定备份”窗口。
在“备份媒体”列表中,选择“文件”,然后选择“添加”以打开“查找备份文件”窗口。
在“选择文件”区域中,选择在步骤 3 中备份的 DYNAMICS 数据库的备份文件,选择“确定”,然后选择“确定”。
在 “选择要还原 的备份集”区域中,选中要还原的备份旁边的“ 还原 ”复选框。
在“选择页面”区域中,选择“选项”,然后选择“覆盖现有数据库”复选框。
在“还原数据库文件”区域中,更改“还原为”列,以便数据文件和日志文件在新服务器上使用正确的路径。
注意
SQL Server 2005 或更高版本的默认路径如下。
%systemroot%\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\_Data.mdf
%systemroot%\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\_Log.ldf
可以使用 Windows 资源管理器找到这些文件。选择“确定”。
如果使用支持管理员控制台,请执行以下步骤:
依次选择“开始”、“所有程序”、“Microsoft 支持部门管理员控制台”,然后选择“支持管理员控制台”。
在“连接到 SQL Server”窗口中,执行以下步骤:
- 在 SQL Server 框中,键入新服务器的名称。
- 在 “登录名 ”框中,键入 sa。
- 在 “密码 ”框中,键入 sa 用户的密码,然后选择“ 确定”。
将以下脚本复制到“新建查询 1”窗口:
RESTORE DATABASE [TEST] FROM DISK = N'C:\Program Files\Dynamics\Backup\TEST.bak' WITH FILE = 1, NOUNLOAD, STATS = 10, RECOVERY, REPLACE, MOVE N'GPSTESTDat.mdf' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTDat.mdf', MOVE N'GPSTESTLog.ldf' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTLog.ldf'
注意
对要应用于环境的脚本进行以下更改:
- 将 TEST 替换为新服务器上的公司数据库的名称。
- 替换为
C:\Program Files\Dynamics\Backup\TEST.bak
备份文件的正确路径。 - 将GPSTESTDat.mdf替换为文件的正确名称。
- 将 C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTDat.mdf替换为新服务器上的数据库.mdf文件的正确路径。
- 将 GPSTESTLog.ldf 替换为文件的正确名称。
- 将 C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTLog.mdf 替换为新服务器上数据库的 .ldf 文件的正确路径。
选择绿色箭头以运行查询。
为每个公司数据库重复步骤 6。
在新服务器和所有使用财务应用程序的客户端工作站上创建开放式数据库连接(ODBC)连接。 有关如何在 Microsoft SQL Server 上设置开放式数据库连接的详细信息,请参阅 如何在 SQL Server 上为 Microsoft Dynamics GP 设置 ODBC 数据源。
在新计算机上,安装财务应用程序的服务器和客户端安装。 然后,安装新服务器上使用的任何第三方产品或额外产品。 验证第三方和额外产品是否正常工作。
运行在步骤 1 中创建的SQLLOGINS.sql脚本以创建所有 SQL Server 登录名。 可以使用 SQL Server Management Studio 运行脚本。
注意
如果旧服务器Microsoft Dynamics GP 运行,并且与新服务器没有同名,则用户的密码将不再有效。 若要重置密码,请执行以下步骤:
- 以“sa”用户身份登录到 Microsoft Dynamics GP。
- 在 “工具” 菜单上,指向 “设置”,指向 “系统”,然后选择“ 用户”。
- 选择用户 ID 旁边的“查找”按钮,然后选择相应的用户。
- 在密码字段中,输入新密码,然后选择“ 保存”。
运行在步骤 3 中创建的脚本,在新服务器上创建SQL Server 代理作业和SQL Server 代理运算符。 可以使用 SQL Server Management Studio 运行脚本。
运行Grant.sql脚本。 可以在此路径的本地 GP 安装上找到此脚本:
C:\Program Files (x86)\Microsoft Dynamics\GP\SQL\Util
注意
- 针对 Dynamics 数据库和 SQL Server Management Studio 中的所有公司数据库运行Grant.sql脚本。
- Grant.sql脚本为 DYNGRP 数据库角色中的所有用户授予对所有表、视图和存储过程的选择、更新、插入和删除权限。 这些是必须使用财务应用程序的权限。
针对每个财务应用程序数据库运行以下脚本,将数据库所有者设置为 DYNSA。
sp_changedbowner 'DYNSA'
如果报表和窗体字典文件在旧服务器上共享,请将文件复制到新服务器。
注意
若要验证报表和窗体字典文件是否共享,请查看安装财务应用程序的客户端工作站上的 Dynamics.set 文件。 若要查看 Dynamics.set 文件,请右键单击 Dynamics.set 文件,然后选择“编辑”以打开该文件。
如果旧服务器上共享 OLE Notes 文件,请将文件复制到新服务器。
注意
若要验证 OLE Notes 文件是否共享,请查看安装财务应用程序的客户端工作站上的 Dex.ini 文件中的 OLENotes 路径。 若要查看Dex.ini文件,请双击Dex.ini文件,在记事本中打开该文件。
如果已使用自动更新功能并且具有指向旧服务器上的共享的条目,则必须将文件复制到新服务器上的共享。 需要调整 System DYNAMICS 数据库中 SYUPDATE 表中的条目。 有关详细信息,请参阅Microsoft知识库文章 916679。
如果要移动 Microsoft Dynamics GP 数据库,并且你在 SQL Server Reporting Services 或 Excel 集成报表中使用向下钻取功能,则需要执行以下操作来更新服务器链接,以便向下钻取在服务器移动后工作。
- 确保每个人都已注销 Microsoft Dynamics GP 并关闭 SQL Server Management Studio 的所有实例
- 在安装了 Dynamics GP 的计算机上,选择“开始”,然后指向“所有程序”。 选择Microsoft Dynamics,然后选择“GP”,然后选择“数据库维护”
- 当实用工具打开时,选择或输入存储 Dynamics GP 数据库的 SQL Server 实例。 如果以具有此 SQL Server 实例权限的域帐户登录,则可以选择该选项。 否则,请选择 SQL 身份验证并输入适当的用户名和密码。 然后选择“下一步”>>
- 选择“全部标记”以选择每个 Dynamics GP 数据库,然后选择“下一步”>>
- 选择 Microsoft Dynamics GP 产品,然后选择“下一步”>>
- 选择“函数”和“存储过程”,然后选择“下一步”>>
- 查看确认窗口,然后选择“下一步>>”开始该过程。 可能需要一些时间,具体取决于已安装的产品数和需要解决的数据库数。 完成外部报表向下钻取后,即可在新 SQL Server 实例中工作,你已移动到该实例。
安装完所有备份后,可以还原 SQL 备份,然后创建 ODBC 以连接并登录到 Dynamics GP:
参考
创建 ODBC 并登录到 Dynamics GP:
有关详细信息,请参阅在开始Microsoft Dynamics GP 时显示错误消息:“你的登录已从用户活动文件中删除,并且你不能进入会计系统”。
如果对本文中的步骤有任何疑问,请使用以下任一方法联系 Microsoft Business Solutions Technical Support:
登录到以下Microsoft Business Solutions 支持站点,然后输入新的支持请求:
通过拨打 888-477-7877,通过电话联系 Microsoft Dynamics GP 技术支持。 请务必为 Microsoft Dynamics GP 支持计划提供授权号码,以便向代理提供帮助创建案例。