<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>VSALM</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/vsalm/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/vsalm/feed.xml</link>
    <description>Visual Studio Application LifeCycle Management... from Chev&amp;#039;s point of view</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:35:46 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>How to fetch a user's profile from Azure Active Directory using PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/how-to-fetch-a-users-profile-from-azure-active-directory-using-powershell</link>
      <pubDate>Wed, 13 Jun 2018 13:56:56 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/?p=315</guid>
      <description><![CDATA[On my recent journey helping customers migrate from TFS to VSTS; one of the most common obstacle is...]]></description>
      <content:encoded><![CDATA[On my recent journey helping customers migrate from TFS to VSTS; one of the most common obstacle is verifying that users marked for active import to VSTS have matching AAD records. Thankfully there is a fairly streamlined way to do this using PowerShell and the Azure Graph API.

The magic is in the bellow PowerShell script. Feel free to copy and use it at your convenience.
<blockquote style="font-size: 14px;font-family: Lucida Console"><span style="color: green">#Author: Chev Bryan
#Company: Microsoft Corp.
#Date: Jan 01, 2018 00:00:01 EST</span>
<span style="color: green">
##First time running the script,
##ensure the AzureAD and MSOnline Modules are installed
#Install-Module AzureAD
#Install-Module MSOnline
</span>
<span style="color: green">#Connect to the MSOnline Service
#Please note: You must call the Connect-MsolService cmdlet before calling any other cmdlets.</span>
<span style="color: navy">Connect-MSOlService
</span><span style="color: green">
#Fetch user by Principal Name (email address)
#Be sure to replace the user@tennant.com with the email address of the user you wish to fetch
</span><span style="color: blue">Get-MsolUser</span> <span style="color: navy">-UserPrincipalName</span> <span style="color: #9932cc;background-color: yellow">user@tennant.com</span></blockquote>
Please note, the first time you run this script, you may have to install the "AzureAD" and "MSOnline" Modules. To do that, simply un-comment the following lines from the code snippet above:
<blockquote style="font-size: 14px;font-family: Lucida Console"><span style="color: blue">Install-Module <span style="color: #9932cc">AzureAD</span>
Install-Module <span style="color: #9932cc">MSOnline</span>
</span></blockquote>
You can copy and run this script from PowerShell ISE, or save it and run it directly from the PowerShell command line.

Happy Scripting!

...
<span style="font-weight: bold;color: #5b9bd5">Chev</span><span style="font-weight: bold;color: #a5a5a5">Bryan</span>]]></content:encoded>
    </item>
    <item>
      <title>Now you have migrated to VSTS, what's next?</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/now-you-have-migrated-to-vsts-whats-next</link>
      <pubDate>Tue, 12 Jun 2018 10:49:57 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/?p=205</guid>
      <description><![CDATA[It's a common question for many of my customers who I have helped to migrated their on premises Tfs...]]></description>
      <content:encoded><![CDATA[It's a common question for many of my customers who I have helped to migrated their on premises Tfs instance to Visual Studio Team Services using the TfsMigrator tool from Microsoft.

I have procured a few items that are most common in my experience post migrating to VSTS. If you have any you'd like to share, please feel free to leave a comment for everyone else to peruse.
<h4>Validate Users, Work Items, and Source Repositories</h4>
&nbsp;
<h4>Update and run builds and releases</h4>
&nbsp;

&nbsp;

Hope this is helpful in your quest to VSTS. Cheers!]]></content:encoded>
    </item>
    <item>
      <title>How to estimate the size of your Tfs database backup files</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/how-to-estimate-the-size-of-my-tfs-database-backup-files</link>
      <pubDate>Mon, 29 May 2017 14:35:54 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/?p=185</guid>
      <description><![CDATA[The most likely way to do this in my experience is to take a look at the most recent backup job....]]></description>
      <content:encoded><![CDATA[The most likely way to do this in my experience is to take a look at the most recent backup job. This can be done quite easily from a T-SQL script. Feel free to refine the bellow to suite your needs, but it should get you the basic information you require.
<pre>SELECT TOP 100 s.database_name AS [Database Name], m.physical_device_name AS [Backup File Physical Location], CAST(CAST(s.backup_size / 1000000 AS INT) AS VARCHAR(14))
 + ' ' + ' MB' AS [Size of Backup File (MB)], s.backup_start_date AS [Start Time], s.backup_finish_date AS [End Time], CAST(DATEDIFF(second, s.backup_start_date, s.backup_finish_date) AS VARCHAR(4)) AS [Backup Duration (Seconds)], s.server_name AS [SQL Server Name], CASE s.[type] WHEN 'D' THEN 'Full' WHEN 'I' THEN 'Differential' WHEN 'L' THEN 'Transaction Log' END AS [Type of Backup],
 s.recovery_model AS [Recovery Model]
 FROM msdb.dbo.backupset AS s INNER JOIN
 msdb.dbo.backupmediafamily AS m ON s.media_set_id = m.media_set_id
 WHERE (s.database_name LIKE 'tfs_%')
 ORDER BY [Start Time] DESC, [End Time]</pre>
&nbsp;

A special thank you to <a href="https://blog.sqlauthority.com/2010/11/10/sql-server-get-database-backup-history-for-a-single-database/">SQL Authority</a> for the base script, with a couple tweaks, I was able to get the exact results I wanted.

&nbsp;

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Fixed: Users lose access to Team Projects after Tfs Server loses access to Active Directory</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/fixed-users-lose-access-to-team-projects-after-tfs-server-loses-access-to-active-directory</link>
      <pubDate>Sat, 20 Jun 2015 19:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2015/06/20/fixed-users-lose-access-to-team-projects-after-tfs-server-loses-access-to-active-directory/</guid>
      <description><![CDATA[Recently, I completed a Tfs 2008 (with SP1) upgrade to Tfs 2012.4. &nbsp;With no indications in the...]]></description>
      <content:encoded><![CDATA[<p>Recently, I completed a Tfs 2008 (with SP1) upgrade to Tfs 2012.4. &nbsp;With no indications in the log files that there were errors. &nbsp;I was doing my usual rounds of verification when I found that none of the users were showing up in the Tfs 2012.4 Team Project groups.&nbsp;</p>
<p>&nbsp;</p>
<p>It seems AD and Tfs Sync was out of whack. &nbsp;I got that working pretty quickly, and restarted the TfsJobAgent and ensured that the AD Sync job ran successfully.&nbsp;</p>
<p>&nbsp;</p>
<p>I verified that the users still existed in the new Tfs 2012.4 instance, so now I just needed to get the users and groups they belonged to information from the Tfs 2008 instance and replicate them in the new Tfs 2012.4 instance. &nbsp;With a lil T-SQL magic, this was not such a huge deal.</p>
<p>&nbsp;</p>
<p>So, I hopped on over to the Tfs 2008 database server; connected to the TfsIntegration database and start a new query. &nbsp;Ran the following T-SQL script, save the results as Tfs2008UserGroupsRestore.cmd file.</p>
<p>&nbsp;</p>
<pre class="scroll"><code class="mysql">SELECT 'tfssecurity /g+ "[' + REPLACE(REPLACE(P.project_name, '&gt;', '_'), '"', '-') + ']\' + A.groupName <br /> + '" "UserDomain\' + A.userName + '" /collection:https://TfsServer:8080/tfs/DefaultCollection' AS Query<br /> FROM <br /> (<br /> SELECT <br /> tbl_security_identity_cache_1.display_name as groupName, <br /> tbl_security_identity_cache_1.Domain as domainName,<br /> tbl_security_identity_cache.account_name AS userName <br /> FROM tbl_security_membership_cache INNER JOIN <br /> tbl_security_identity_cache ON tbl_security_membership_cache.member = tbl_security_identity_cache.sid INNER JOIN <br /> tbl_security_identity_cache AS tbl_security_identity_cache_1 ON tbl_security_membership_cache.container = tbl_security_identity_cache_1.sid <br /> WHERE (tbl_security_identity_cache_1.type = 4) AND (tbl_security_identity_cache_1.sid &lt;&gt; 'S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3' <br /> and tbl_security_identity_cache.deleted&lt;&gt;1) <br /> ) AS A<br /> INNER JOIN tbl_projects AS P ON<br /> A.domainName LIKE '%'+ CONVERT(NVARCHAR(MAX), P.project_id) +'%'<br /> </code></pre>
<p>&nbsp;</p>
<p>Ran the .cmd file in an elevated Visual Studio 2012.4 command prompt on the Tfs 2012.4 app tier; and after a few minutes, like magic... All users have been restored to their groups.</p>
<p>&nbsp;</p>
<p>I hope this post will be helpful to someone else in the future. &nbsp;Cheers!</p>
<p>&nbsp;</p>
<p>...<br />Chev</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Tfs 2010... What version do I have and what version do I need?</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/tfs-2010-what-version-do-i-have-and-what-version-do-i-need</link>
      <pubDate>Mon, 03 Mar 2014 07:46:53 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2014/03/03/tfs-2010-what-version-do-i-have-and-what-version-do-i-need/</guid>
      <description><![CDATA[Having the latest build of any Microsoft application is always recommended. &nbsp;For TFS 2010 RTM,...]]></description>
      <content:encoded><![CDATA[<p>Having the latest build of any Microsoft application is always recommended. &nbsp;For TFS 2010 RTM, this is no different. &nbsp;Please refer to the table bellow for your current version and links to getting the bits</p>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr><th>&nbsp;</th><th>TFS 2010 Build #</th><th>Release Date</th><th>Size</th><th>Link</th></tr>
<tr>
<td>TFS 2010 RTM</td>
<td>10.0.30319.1</td>
<td>Aug-05-2010</td>
<td>700.0 MB&nbsp;</td>
<td><a href="https://www.microsoft.com/en-us/download/details.aspx?id=15070">https://www.microsoft.com/en-us/download/details.aspx?id=15070</a>&nbsp;</td>
</tr>
<tr>
<td>TFS 2010 with Service Pack 1</td>
<td>10.0.40219.1</td>
<td>Mar-03-2011&nbsp;</td>
<td>476.8 MB&nbsp;</td>
<td><a title="https://www.microsoft.com/en-us/download/details.aspx?id=20506" href="https://www.microsoft.com/en-us/download/details.aspx?id=20506" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=20506</a></td>
</tr>
<tr>
<td>TFS 2010 with Service Pack 1 and Cumulative Update 2</td>
<td>10.0.40219.371</td>
<td>&nbsp;</td>
<td>23.58 MB&nbsp;</td>
<td><a title="https://go.microsoft.com/fwlink/?LinkID=236945&amp;clcid=0x409" href="https://go.microsoft.com/fwlink/?LinkID=236945&amp;clcid=0x409" target="_blank">https://go.microsoft.com/fwlink/?LinkID=236945&amp;clcid=0x409</a></td>
</tr>
<tr>
<td>Team Foundation Server 2010 SP1 Security Update KB2719584</td>
<td>10.0.40219.371 (SP1 KB2643415)&nbsp;</td>
<td>Sep-05-2012&nbsp;</td>
<td>1.3 MB&nbsp;</td>
<td><a title="https://www.microsoft.com/en-us/download/details.aspx?id=34636" href="https://www.microsoft.com/en-us/download/details.aspx?id=34636" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=34636</a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Hope you found this helpful!</p>]]></content:encoded>
    </item>
    <item>
      <title>What version of SQL am I currently running?</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/what-version-of-sql-am-i-currently-running</link>
      <pubDate>Mon, 03 Mar 2014 07:43:00 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2014/03/03/what-version-of-sql-am-i-currently-running/</guid>
      <description><![CDATA[Here is a quick and simple SQL script to get the current SQL version...]]></description>
      <content:encoded><![CDATA[<p>Here is a quick and simple SQL script to get the current SQL version installed.</p>
<pre class="scroll"><code class="mysql">/*==============================================*/<br /> <br /> -- Retrieve version of MS SQL Server<br /> <br /> Select SERVERPROPERTY('productversion') [Product Version], SERVERPROPERTY ('productlevel') [Product Level], SERVERPROPERTY ('edition') [Edition]<br /> <br /> /*==============================================*/</code></pre>
<p>&nbsp;</p>
<p>I personally use this awesome <a title="https://sqlserverbuilds.blogspot.com/" href="https://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/blog" target="_blank">blog</a>&nbsp;(https://sqlserverbuilds.blogspot.com)&nbsp;to then figure out if I am on the latest build etc..</p>
<p>Hope this helps!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS Client Tools</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/tfs-client-tools</link>
      <pubDate>Wed, 12 Feb 2014 09:44:16 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2014/02/12/tfs-client-tools/</guid>
      <description><![CDATA[Here are some tools I find very handy in my day to day use of...]]></description>
      <content:encoded><![CDATA[<p>Here are some tools I find very handy in my day to day use of TFS.&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr><th>Title</th><th>URL</th><th>Description</th></tr>
<tr>
<td>Microsoft Visual Studio Team Foundation Server 2012 Power Tools</td>
<td><a title="Microsoft Visual Studio Team Foundation Server 2012 Power Tools" href="https://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f">https://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f</a></td>
<td>Power Tools are a set of enhancements, tools, and command-line utilities that increase productivity of Team Foundation Server scenarios.</td>
</tr>
<tr>
<td>Team Foundation Server Administration Too</td>
<td><a title="Team Foundation Server Administration Tool" href="https://tfsadmin.codeplex.com/">https://tfsadmin.codeplex.com</a></td>
<td>The TFS Administration Tool allows Team Foundation Server administrators to manage user permissions on all three platforms utilized by Team Foundation Server:
<ul>
<li>Team Foundation Server,</li>
<li>SharePoint, and</li>
<li>SQL Server Reporting Services</li>
</ul>
</td>
</tr>
<tr>
<td>TFS Team Project Manager</td>
<td><a title="TFS Team Project Manager" href="https://teamprojectmanager.codeplex.com/">https://teamprojectmanager.codeplex.com</a></td>
<td>TFS Team Project Manager automates various tasks across Team Projects in Team Foundation Server. If you find yourself managing multiple Team Projects for an organization and have recurring tasks and questions that repeat themselves over and over again, Team Project Manager probably has some answers for you.</td>
</tr>
<tr>
<td>TFS 2012 Sidekicks</td>
<td><a href="https://www.attrice.info/cm/tfs/index.htm">https://www.attrice.info/cm/tfs/index.htm</a></td>
<td>Team Foundation Sidekicks is a suite of tools for Microsoft Team Foundation Server administrators and advanced users providing Graphic User Interface for administrative and advanced version control tasks in multi-user TFS environments.</td>
</tr>
<tr>
<td>MSBuild Sidekick</td>
<td><a href="https://www.attrice.info/msbuild/index.htm">https://www.attrice.info/msbuild/index.htm</a></td>
<td>MSBuild Sidekick allows you to view, edit, build and debug Microsoft Visual Studio&copy; 2005, 2008, 2010 and 2012 project files (C#, VB.Net and C++), Microsoft Team Build project files, Visual Studio&copy; 2005, 2008, 2010 and 2012 solution files as well as custom MSBuild projects. While providing rich Graphic User Interface, integrated build/debug and extensive logging capabilities, the application requires only .Net runtime (2.0, 4.0 or 4.5) to operate.</td>
</tr>
<tr>
<td>Work Item Query Administration</td>
<td><a href="https://wiqadmin.codeplex.com/">https://wiqadmin.codeplex.com</a></td>
<td>Work Item Query Administration (wiqadmin) is command-line utility to manage work item queries in Team Foundation Server.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Hopefully you'll find them handy as well.</p>
<p>Cheers!</p>]]></content:encoded>
    </item>
    <item>
      <title>How can I restore all my Tfs Databases from script</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/how-can-i-restore-all-my-tfs-databases-from-script</link>
      <pubDate>Tue, 11 Feb 2014 12:37:00 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2014/02/11/how-can-i-restore-all-my-tfs-databases-from-script/</guid>
      <description><![CDATA[In this example, I have used the Tfs2008 databases as the list is fairly long. &nbsp;If you so...]]></description>
      <content:encoded><![CDATA[<p>In this example, I have used the Tfs2008 databases as the list is fairly long. &nbsp;If you so desire to re-purpose this script for Tfs2010,2012,2013; simply edit the INSERT statement to resemble (keeping in mind that in my example I only have on collection DB:</p>
<pre class="scroll"><code class="mysql">--Create temp table to store the Tfs Database names<br /> CREATE TABLE #tmp (TfsDBName varchar(MAX)) <br /> INSERT INTO #tmp VALUES ('Tfs_Configuration')<br /> INSERT INTO #tmp VALUES ('Tfs_DefaultCollection')<br /> INSERT INTO #tmp VALUES ('TFS_Warehouse')</code></pre>
<p>Please pay attention to the path and name variables used. &nbsp;You must edit them to match your own environment.</p>
<p><span style="text-decoration: underline;"><strong>For Tfs2008 Databases:</strong></span></p>
<pre class="scroll"><code class="mysql">&nbsp;--START SCRIPT</code></pre>
<pre class="scroll"><code class="mysql"> DECLARE @BackUpURL VARCHAR(MAX)<br /> DECLARE @DBBackUpFile VARCHAR(MAX)<br /> DECLARE @DataRestoreURL VARCHAR(MAX)<br /> DECLARE @LogRestoreURL VARCHAR(MAX)<br /> DECLARE @DBRestoreDataFile VARCHAR(MAX)<br /> DECLARE @DBRestoreLogFile VARCHAR(MAX)<br /> DECLARE @DBName VARCHAR(MAX)<br /> DECLARE @DBLogName VARCHAR(MAX)<br /> DECLARE @CompatLevel VARCHAR(MAX)<br /> <br /> --Set the URL Variable bellow to the root of your DB backup folder<br /> SET @BackUpURL = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\BackUp\'<br /> SET @DataRestoreURL = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\'<br /> SET @LogRestoreURL = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\'<br /> <br /> --Create temp table to store the Tfs Database names<br /> CREATE TABLE #tmp (TfsDBName varchar(MAX)) <br /> INSERT INTO #tmp VALUES ('TfsActivityLogging')<br /> INSERT INTO #tmp VALUES ('TfsBuild')<br /> INSERT INTO #tmp VALUES ('TfsIntegration')<br /> INSERT INTO #tmp VALUES ('TfsVersionControl')<br /> INSERT INTO #tmp VALUES ('TFSWarehouse')<br /> INSERT INTO #tmp VALUES ('TfsWorkItemTracking')<br /> INSERT INTO #tmp VALUES ('TfsWorkItemTrackingAttachments')<br /> <br /> DECLARE db_cursor CURSOR FOR <br /> SELECT TfsDBName FROM #tmp<br /> OPEN db_cursor <br /> FETCH NEXT FROM db_cursor INTO @DBName <br /> WHILE @@FETCH_STATUS = 0 <br /> <br /> BEGIN <br /> <br /> SET @DBLogName = @DBName + N'_log'<br /> SET @DBBackUpFile = @BackUpURL + @DBName + N'.BAK'<br /> SET @DBRestoreDataFile = @DataRestoreURL + @DBName + '.MDF'<br /> SET @DBRestoreLogFile = @LogRestoreURL + @DBLogName + '.LDF'<br /> <br /> RESTORE DATABASE @DBName FROM <br /> DISK = @DBBackUpFile <br /> WITH FILE = 1, <br /> MOVE @DBName TO @DBRestoreDataFile, <br /> MOVE @DBLogName TO @DBRestoreLogFile, <br /> NOUNLOAD, REPLACE, STATS = 10<br /> <br /> SET @CompatLevel = N'ALTER DATABASE [' + @DBName + '] SET COMPATIBILITY_LEVEL = 100 ' --Update the Database compatibility level to SQL 2008<br /> + N'ALTER DATABASE [' + @DBName + '] SET RECOVERY FULL WITH NO_WAIT ' --Set the Database to Full Recovery<br /> + N'ALTER DATABASE [' + @DBName + '] COLLATE SQL_Latin1_General_CP1_CI_AS ' --Set Database Collation<br /> EXEC(@CompatLevel)<br /> <br /> FETCH NEXT FROM db_cursor INTO @DBName <br /> END<br /> <br /> CLOSE db_cursor<br /> DEALLOCATE db_cursor<br /> DROP TABLE #tmp<br /> </code></pre>
<pre class="scroll"><code class="mysql">--END SCRIPT</code></pre>
<p>Hope this helps,c<span style="font-size: 12px;">heers!</span></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>What's the size of my TFS Databases?</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/whats-the-size-of-my-tfs-databases</link>
      <pubDate>Mon, 10 Feb 2014 15:05:57 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2014/02/10/whats-the-size-of-my-tfs-databases/</guid>
      <description><![CDATA[How many times have you been caught trying to figure out what is the current size of your TFS...]]></description>
      <content:encoded><![CDATA[<span>How many times have you been caught trying to figure out what is the current size of your TFS databases? I find more often than not, just before a TFS Migration or a backup procedure, this is a very frequent ask. Here's a nifty </span><span>T-SQL Script </span><span>to get your answer.</span>

&nbsp;

/*
==============================================
-- Please use judiciously as Microsoft does not recommend you directly hitting the DB
-- Determine the size of MS SQL Server Database
-- This is especially useful to determine how much space you need for backup/migration etc.
<span>==============================================</span>
*/

SELECT DB_NAME(database_id) AS [Database Name],
[name] [Logical File Name],
physical_name [Physical File Location],
CASE [type_desc] WHEN 'ROWS' THEN 'DATA'
WHEN 'LOG' THEN 'LOG'
END AS [Database File Type],
(size * 8) / 1024 [Database Size (MB)]
FROM sys.master_files
WHERE DB_NAME(database_id) LIKE 'tfs_%'
ORDER BY 1

/*=============== ALL DONE! <span>===============</span>*/

&nbsp;

<span>Keep it handy for other systems why don't ya :-)</span>]]></content:encoded>
    </item>
    <item>
      <title>The migration service account TFSService is not in the Service Accounts Group...</title>
      <link>https://docs.microsoft.com/archive/blogs/vsalm/the-migration-service-account-tfsservice-is-not-in-the-service-accounts-group</link>
      <pubDate>Fri, 20 Dec 2013 05:05:00 GMT</pubDate>
      <dc:creator><![CDATA[Chev Bryan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vsalm/2013/12/20/the-migration-service-account-tfsservice-is-not-in-the-service-accounts-group/</guid>
      <description><![CDATA[It is a common issue for a lot of TFS Admins using the TFS Integration Tools to encounter an error...]]></description>
      <content:encoded><![CDATA[<p>It is a common issue for a lot of TFS Admins using the <a title="TFS Integration Tools" href="https://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe" target="_blank">TFS Integration Tools</a> to encounter an error message similar in nature to:<br /><strong>"&hellip;the migration service account &lsquo;TFSService&rsquo; is not in the Service Accounts Group"</strong></p>
<p>Thankfully there is a relatively easy solution, and the error could be avoided if this is a pre-migration step. TFS Admins will need to run a single command from the console on the TFS App Tier.</p>
<p>Please be aware, to use this command, you must have the required access rights to the TFS environment. Please see details&nbsp;<a title="https://msdn.microsoft.com/en-us/library/ms252504.aspx" href="https://msdn.microsoft.com/en-us/library/ms252504.aspx">https://msdn.microsoft.com/en-us/library/ms252504.aspx</a></p>
<p><span style="text-decoration: underline;">General format of the command:</span><br /> TFSSecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]</p>
<p><span style="text-decoration: underline;">Example:</span><br /> c:\Program Files\Microsoft Team Foundation Server 11.0\Tools\tfssecurity /g+ "Team Foundation Service Accounts" n:Domain\UserName ALLOW /server:https://TfsServer:8080/tfs</p>
<p>&nbsp;</p>
<p>I certainly hope this helps, cheers!</p>]]></content:encoded>
    </item>
  </channel>
</rss>