For questions regarding configuration, following the instructions provided in Configure Replay Environment.
1. What security permissions do I need to start a replay capture on my target server?
- The Windows user performing the trace operation in the DEA Application should have sysadmin privileges in the target SQL Server. This is needed to start a trace.
- The service account, under which the target SQL Server is running, should have write access to the specified trace file path.
- The service account, under which the Distributed Replay Client services are running, must have permission to connect and execute queries on the target SQL Server.
2. I am unable to connect to the SQL Server.
- Confirm that the SQL Server name is valid. To confirm, try connecting to the server using SSMS.
- Confirm that the firewall configuration is not blocking connections to SQL Server.
- Confirm user has the permissions listed in #1.
- Confirm that the Distributed Replay Client’s service account has access to the SQL Server.
Further details can be found in the logs at %temp%\DEA. If the problem persists, contact the product team.
|Possible Errors||Explanation / Solution|
|Unable to connect to the SQL Server instance, please ensure the server name is correct and have required access for the current logged in user. | Sql Error Code (53).||You may not have access/privileges to server or the server name may be incorrect.|
3. I am unable to connect to the Distributed Replay Controller.
- Verify that the Distributed Replay Controller service is running on the controller machine using the Distributed Replay Management Tools: run command dreplay.exe status -f 1.
- If the replay is being started remotely, confirm that the machine running DEA can ping the Controller successfully. Confirm firewall settings to allow connections per instructions in the Configure Replay Environment page.
- If the replay is being started remotely, ensure that the DCOM Remote Launch and Remote Activation are allowed for the user of Distributed Replay Controller.
- If the replay is being started remotely, ensure that the DCOM Remote Access permissions are allowed for the user of Distributed Replay Controller.
4. Can I start multiple replays in the same session?
Yes, DEA 2.0 allows multiple replays to be started and tracked to completion within the same session.
5. Can I start multiple replays in parallel?
Yes, but not with the same Controller+Clients. The controller and clients will be busy. So, you will need to set up a separate set of Controller+Client machines to start a parallel replay.
6. My Source capture was for only 1 hour, but my replay has been running for a loooooong time! How long does a replay typically take to complete?
A replay typically takes the same amount of time as the Source trace + the amount of time taken to pre-process the Source trace. However, if the client machines registered with the Controller are not sufficient to manage the load produced from the replay, the replay can take longer to complete. Distributed Replay allows a maximum of 16 client machines to be registered with the Controller.
7. How large can the Target trace files get?
The Target files can be anywhere from 5X to 15X the size of the Source trace depending on how many queries are executed, based on our testing. For instance, query plan blobs can be large and if the statistics change often, there will be more events captured for such queries.
8. Why do I need to restore databases?
SQL Server is a stateful relational database management system. To properly perform an A/B test, the state of the database must be retained at all times. Otherwise, you may see errors in queries during replay that would not appear in production. To prevent such errors, taking a backup right before the Source capture is recommended. And similarly, restoring of the backup on the target SQL Server is required to prevent errors during replay.
9. The trace file path exists on my machine! Why can’t Distributed Replay Controller find it?
Distributed replay can only access local disk resources. So the Source trace files must be copied over to the Distributed Replay Controller machine prior to starting the replay and that path must be provided on the New Replay screen of DEA 2.0. Also, note that UNC paths are not compatible with Distributed Replay. They must be local absolute paths to the first Source trace file, including extension.
10. Why can’t I browse for files on the New Replay screen?
Since we cannot browse remote machine’s folders, browsing for files would not be useful. Copy-pasting the absolute paths is more efficient.
11. What does Pass % on the Replay screen mean?
Pass % means that only that % of queries passed. It allowed you to diagnose whether the number of errors is expected or not. The errors could be because they are expected or because something went wrong and the database has lost its integrity. If the pass % is not as expected, you may as well stop the trace and look at the trace file in SQL Profiler to see which queries did not succeed.
12. How can I look at the trace events collected during Replay?
Open a Target trace file and view it in SQL Profiler. Alternatively, if you wish to make modifications to the replay capture, all the SQL scripts are available at C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Scripts\StartReplayCapture.sql
13. I started replay with a trace, but Distributed Replay did not replay any events.
This can happen because trace file does not contain replayable events or does not contain information on how to replay events. Confirm whether the trace file path provided is a Source trace file. The source trace file is created using the configuration provided in the StartCaptureTrace.sql script.
14. Which trace events does DEA collect during the Replay step?
The trace events captured contain performance related information. The capture configuration is present in the StartReplayCaptureTrace.sql script. These are typical SQL Trace Events which are listed here: https://msdn.microsoft.com/en-us/library/ms186265.aspx