我有一个SQL Server 2005数据库…它的一个副本正在完整版本的SQL服务器上运行。 另一个副本运行在Web服务器上的SQL Server 2005 Express中。
我已经使用SQL事件探查器,并从数据库的SQL Express副本上的活动保存了一个调整跟踪日志。
我想使用数据库引擎优化顾问中保存的跟踪日志…
如果我尝试将Advisor连接到Express数据库时,我被告知Express不受支持。
如果我尝试将顾问连接到SQL Server数据库时,我得到空的结果。
有没有办法做到这一点?
您应该能够使用从远程生产服务器(Express)收集的跟踪数据调整本地开发服务器上的相同数据库。
但是,您不能使用存储在远程服务器中的跟踪表来执行此操作。 根据使用数据库引擎优化顾问的注意事项 ,“数据库引擎优化顾问无法调整驻留在远程服务器上的跟踪表中的工作负载”
但我想你正在使用跟踪文件,所以这不应该是一个问题。
如果您没有得到任何build议,您应该先查看前面提到的MSDN页面上的列表:
在以下情况下,数据库引擎优化顾问可能不会提出build议:
正在调整的表格包含less于10个数据页面。
与目前的物理数据库devise相比,推荐的索引不能提供足够的查询性能改进。
运行数据库引擎优化顾问的用户不是db_owner数据库angular色或sysadmin固定服务器angular色的成员。 工作负载中的查询在运行数据库引擎优化顾问的用户的安全上下文中进行分析。 用户必须是db_owner数据库angular色的成员。
我想你会需要从Express实例恢复到完整实例的数据库的副本。 顾问查看模式以使其成为调整build议。
我认为你所需要做的就是将数据库跟踪到表格,然后在包含跟踪结果的表格中的数据处指向调整顾问。 这样我不认为你需要移动任何数据库。
我还发现我可以在SQL Profiler中编辑跟踪文件,并删除任何指定login或数据库名称的列。 之后,调谐顾问工作。