Sample OCS Archiving Report Available
Update 6/2/13 - Sample Lync Server Archiving Report is now available! Click here for more information.
Update 5/29/13 - Updated report download link and moved report to TechNet Gallery.
Update 11/26/10 - OCSArchivingReport - 0.6 is available. Fixed an issue with RTF text not displaying in the results.
Update 8/26/10 - This blog post will serve as the official home of the OCSArchivingReport. Please post any questions/feedback in the comments.
Update 8/9/10 - OCSArchivingReport - 0.5 is available. Fixed an issue with multiparty IMs displaying incorrect results. Fixed the form automatically pulling data when loaded.
An easy way to get information out of the archiving database has been a common request from customers, but unfortunately a canned report wasn't inculded out of the box. That is why I have created this SQL report as an easy way to query the database.
It builds on the functionality provided by the Archiving PowerShell script that was written (https://communicationsserverteam.com/archive/2009/09/28/584.aspx) and adds a GUI interface, the ability to filter by date, and message formatting. It has been tested against OCS 2007 R2 and SQL Reporting Services 2005. You will need to have a functioning SQL Reporting Services server before trying to deploy this report.
Installation
- Download the latest version of the OCSArchivingReport.
- Open Report Manager – http(s)://<SRS Server>/Reports
- Click on New Folder
- Give the folder a name – i.e. OCSArchivingReport
- Click OK
- Click on the folder you just created
- Click on Upload File
- Browse to the location where you downloaded OCSArchivingReport.rdl and select the file
- Click OK to upload the report
- Click on New Data Source
- Enter LcsLog for the Data Source name
- Enter Data Source=<SQL Servername>;Initial Catalog=LcsLogfor the Connection String
- Replace <SQL Servername> with your SQL server\instance
- Select the Windows integrated security radio button
- Click OK
- Click on OCSArchivingReport
- You will see the following error: The report server cannot process this report. The data source connection information has been deleted. (rsInvalidDataSourceReference). This is normal, since we haven’t linked the report to the data source we just created.
- Click on the Properties tab
- Click on Data Sources in the left-hand column
- Make sure A shared data source radio button is selected
- Click the Browse button
- Expand OCSArchivingReport and click on LcsLog
- Click OK
- Click Apply
The report is now linked to the data source and ready to be used.
Using the Report
The report allows you to enter the SIP URI of any 2 users that you want to view archived messages from. If you enter “Any User” (case sensitive) for either of the user input boxes, you are able to view any message from any user to a specific user as well as any user to any other user. You can use the Start Date and End Date to narrow down the search to a specific date range. Once you have entered all of the inputs, click on View Report.
The results of the search are shown. The First User column represents the sender of the message and the Second User column represents the recipient of the message. The Message column shows the message that was sent as well any formatting on the message. Changing Show Toast to Yes will show the toast messages as well as the Toast column.
Click here to download the latest version of the report.
A big Thank You to Rich Thorp for helping me put together this report!
* This is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified in the Terms of Use (https://www.microsoft.com/info/cpyright.htm).
Comments
- Anonymous
January 01, 2003
To convert from UTC to another time zone, there are a couple of ways of accomplishing this. The easiest way for now, while we look at adding that functionality to the report is to do the following steps:
- Open the report in design view.
- Go to the Time(UTC) field, it should look like [MessageIdTime].
- Right click on the field and select Expression.
- Enter the following: =System.TimeZone.CurrentTimeZone.ToLocalTime(Fields!MessageIdTime.Value)
- Save and publish the report. The thing to remember is that this will convert to the local time of the Report Server, not the client running the report, as expressions are evaluated on the server.
Anonymous
January 01, 2003
@Garry You can try deleting the data source and recreating it. The report contains just the data source and report. If you delete both of those, you would be starting over from scratch. You can always switch the report to using a custom data source instead of the shared data source and fill in the connection string with your information.Anonymous
January 01, 2003
Hi there I'm having the same issues with the "Cannot create a connection to data source 'DataSource1'". I've followed all the steps suggested above, including the "Windows Integrated Security" option versus the "Credentials Stored". To no avail. From any machine on the network, I can generate a report using only one account. I have mirrored permissions at every layer I can find for this working user and for a Domain Local Security Group I've created. Still nothing, any help out there? RegardsAnonymous
January 01, 2003
@vlazari@sits.md You would have to edit the report to apply the offset. Currently the report just displays what's stored in the database (UTC).Anonymous
January 01, 2003
@BrITman I reproed it on SQL 2005 as well. I'm looking into it. Thanks!Anonymous
January 01, 2003
@Zac Unfortunately the database schema changed between versions, so you will need to change the queries. You can find information on the R1 Archiving database schema here: http://technet.microsoft.com/en-us/library/bb964005(office.12).aspxAnonymous
January 01, 2003
@Chad McGreanor Yes, we're planning on releasing a new report for Lync Server 2010. In the meantime the current report will work.Anonymous
January 01, 2003
@Garry Glad it's working for you.Anonymous
January 01, 2003
@BrITman Glad to hear that that fixed your issue. Thanks for the feedback!Anonymous
January 01, 2003
@Steve
This sounds like you entered the connection string incorrectly. Make sure that you're using the latest version of the reports and follow the instructions above to configure the connection string. Also, if you're using the Lync version of the reports, you posted this comment in the OCS blog post, so make sure to use the instructions in the Lync version blog post if that's the case.Anonymous
January 01, 2003
@Yves Did you follow the steps above to create the Data Source and change the report to use it?Anonymous
January 01, 2003
@Anonymous I've been playing around with a similar idea for an update to the report. It looks to be possible, you'd need to grab a couple more things from the database and edit the layout of the report.Anonymous
January 01, 2003
@OCSguy Do the messages show up in the database? I know of an issue with the way the report is parsing RTF formatted messages from the database, which might be your issue. If so, we're working on a fix.Anonymous
January 01, 2003
@Kurt Search is something that we're looking at for the Lync version of the report.Anonymous
January 01, 2003
@Ecl Yes, in it's current form, the report does pull data from a Lync Server 2010 archiving database. The database schema is similar enough that the report will pull the information needed. There are additional tables in the database that might be interesting to include in the report. Once Lync Server 2010 RTMs, we'll look at updating the report. There is also a PowerShell command for pulling information from the archiving database. You can run "Get-Help Export-CsArchivingData -Examples" for more information on what is possible.Anonymous
January 01, 2003
@Rose You should be able to since it's just an SSRS report, but I haven't tried it. You would want to make sure that the report is named differently than the OCS report. If you can wait a little longer, I'm putting the finishing touches on the Lync version of the report. It will include some additional features that people have requested, so that might be a better option for you.Anonymous
January 01, 2003
@Michael Trebiani The timestamp is stored in the database in GMT. If you wanted to localize it you would need to edit the report.Anonymous
January 01, 2003
@Shiri The archiving database schema is not defined anywhere, but you can just open the LCSLog database with SQL Management Studio and look at everything.Anonymous
September 02, 2010
Setup and working but only see message text for toast messages, so looks like not converting correctly to text for the Rich Text items. Data I can see is in the table, also if I remove the conversion call in your code I see the raw data, so with all the formatting codes. Not sure if related - but using SQL 2008 SP1 Reporting Services host, with database instance on another SQL 2008 SP1 host, both using Windows 2008 R2.Anonymous
September 15, 2010
I was hoping to use this for OCS 2007, but not R2. can this be tweaked for that? or do you know where I can find another one?Anonymous
September 17, 2010
Hi Will this work on lynch 2010? Thanks EclAnonymous
September 24, 2010
The comment has been removedAnonymous
September 24, 2010
Well if there is anyone out there willing to help me get this working on OCS 2007 (Non R2) i would greatly appreciate the assistance. my email address is mmenzie@mediacomcc.com if you can helpAnonymous
October 11, 2010
Hello, I have the similar issue reported by Yves. I managed to run the report on the SQL Report Servicesc server. However running the report from any other remote computer will fail with the same error than Yves. Thanks.Anonymous
October 14, 2010
@peter Make sure you have permissions set properly and are logged in with the correct account. Also, I didn't need to use the instance name in the data source name, so you could try leaving it out.Anonymous
October 14, 2010
I'm seeing the same issue that BrItman did - only the toast messages are showing up. Also using Server 2008 R2 and SQL 2008 Version 10.0.2531.0. I've disabled RTF and HTML locally and verified group policy either matches or is not defined for these settings. Any ideas as to why the messages are missing in the report?Anonymous
November 02, 2010
Yes, the messages are in the database. I can see them when I run the powershell script. I look forward to the next version of your report, do you think it might be available before the Holidays?Anonymous
November 04, 2010
Hello, I managed to resolve my issue by not using the "Windows integrated security" radio button. In used instead: "Credentials stored secyrely in the report server" radio button and check the "User as Windows credentials when connecting to the data store". The user used there should have the read permission to the LcsLog database.Anonymous
November 20, 2010
Are you going to update this report to support Lync 2010?Anonymous
December 01, 2010
Where does the report pull the IM timestamp information? I am in the central time zone, but it looks like my timestamps are showing up as GMT.Anonymous
December 05, 2010
The comment has been removedAnonymous
December 10, 2010
Good news from my last post ref RTF issue -- version 0.6 working good now :-)Anonymous
December 15, 2010
The comment has been removedAnonymous
January 06, 2011
Hi, I deleted my old OCS Archiving Report and then followed the steps to install v0.6 I also get the error: 'Cannot create a connection to data source 'DataSource1'. I was careful to ensure that the report referenced the LcsLog data source. After deleting the new OCS Archiving Report and then recreating it to use the previous .RDL file to effectively roll back to the version that worked for me, I now get: "Cannot create a connection to data source 'LcsLog". This worked flawlessly for me before. It's as though something is not being deleted properly when the new report is uploaded... Any ideas? Thanks.Anonymous
March 11, 2011
Thank you for a very nice report! But How can I put in it GMT+2?Anonymous
March 22, 2011
Hi dodeitte - I recreated entirely as you suggested and it fixed the problem. Many thanks, it's working a treat with Lync Server 2010!Anonymous
April 06, 2011
Is there a way to modify the report to show the conversations in groups by sender or receiver. For example a report would show the conversation ID, Sender, Receiver and to view the contents of the conversation ID, one would click on the conversation IDAnonymous
May 18, 2011
I really do like this report. Just some suggestions. Something for Group Chat, Conferencing, as well as the standard IM stuff would be great in some sort of a report.Anonymous
May 28, 2011
Is the Lync 2010 Updated Report soon to arrive ? Just curious :)Anonymous
June 01, 2011
This report works great! Thank you so much for making this. Much better than the old powershell way of doing it. Those querries used to take forever as we keep conversations indefinitely. Being able to apply a date filter is perfect!Anonymous
June 28, 2011
Thanks works great. Have it working on my Lync server.Anonymous
July 10, 2011
Do you have the schema for archiving in Lync?Anonymous
January 08, 2012
we have upgraded some of the users to lync and we still have ocs in place. i already implement OCS Archiving Report. can i install Lync 2010 IM Archive Report on the same server? will both application work?Anonymous
February 29, 2012
My employer is looking for a search functionality not by user but by arbitrary terms found in the message field, is that even possible?Anonymous
September 21, 2012
The comment has been removedAnonymous
October 02, 2012
Where in the report do you specify a different time zone and how should it be specified? thanks!Anonymous
October 04, 2012
If I understand your question. In the field Time (UTC), have to add three hours. This is an example of my report: 9/20/2012 11:37:12 9/20/2012 11:37:19 Instead of eleven o'clock should be fourteen o'clock. Thank you!Anonymous
January 30, 2013
Thank you much for this article, additional comments, and report download. This saved me alot of time with a Lync 2010 IM export. The formatting is way better than I can get using the Export-CsArchivingData command. It is nice to have all IMs in one spreadsheet to hand over to HR.Anonymous
March 01, 2014
The comment has been removedAnonymous
September 24, 2015
The comment has been removed