<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jimmie's Sharings : Profile Import</title><link>http://blogs.msdn.com/jimmiet/archive/tags/Profile+Import/default.aspx</link><description>Tags: Profile Import</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>“Hidden” SSP Timer Jobs</title><link>http://blogs.msdn.com/jimmiet/archive/2008/04/20/hidden-ssp-timer-jobs.aspx</link><pubDate>Sun, 20 Apr 2008 17:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8412840</guid><dc:creator>jimmiet</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jimmiet/comments/8412840.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jimmiet/commentrss.aspx?PostID=8412840</wfw:commentRss><description>&lt;META content="Microsoft Word 12 (filtered)" name=Generator&gt;
&lt;STYLE&gt;@font-face {
	font-family: Cambria Math;
}
@font-face {
	font-family: Cambria;
}
@font-face {
	font-family: Calibri;
}
@font-face {
	font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
LI.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
DIV.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 24pt 0in 0pt; COLOR: #365f91; LINE-HEIGHT: 115%; FONT-FAMILY: "Cambria","serif"; mso-style-link: "Heading 1 Char"
}
A:link {
	COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
	COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
	COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
	COLOR: purple; TEXT-DECORATION: underline
}
P.MsoDocumentMap {
	FONT-SIZE: 8pt; BACKGROUND: yellow; MARGIN: 3pt 0in; COLOR: #993300; LINE-HEIGHT: 13pt; FONT-FAMILY: "Tahoma","sans-serif"
}
LI.MsoDocumentMap {
	FONT-SIZE: 8pt; BACKGROUND: yellow; MARGIN: 3pt 0in; COLOR: #993300; LINE-HEIGHT: 13pt; FONT-FAMILY: "Tahoma","sans-serif"
}
DIV.MsoDocumentMap {
	FONT-SIZE: 8pt; BACKGROUND: yellow; MARGIN: 3pt 0in; COLOR: #993300; LINE-HEIGHT: 13pt; FONT-FAMILY: "Tahoma","sans-serif"
}
P {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 7.5pt; FONT-FAMILY: "Times New Roman","serif"
}
P.Sample {
	FONT-SIZE: 9pt; BACKGROUND: #d9d9d9; MARGIN: 0in 0in 0pt 0.3in; LINE-HEIGHT: 115%; FONT-FAMILY: "Courier New"; mso-style-name: Sample
}
LI.Sample {
	FONT-SIZE: 9pt; BACKGROUND: #d9d9d9; MARGIN: 0in 0in 0pt 0.3in; LINE-HEIGHT: 115%; FONT-FAMILY: "Courier New"; mso-style-name: Sample
}
DIV.Sample {
	FONT-SIZE: 9pt; BACKGROUND: #d9d9d9; MARGIN: 0in 0in 0pt 0.3in; LINE-HEIGHT: 115%; FONT-FAMILY: "Courier New"; mso-style-name: Sample
}
SPAN.Heading1Char {
	FONT-WEIGHT: bold; COLOR: #365f91; FONT-FAMILY: "Cambria","serif"; mso-style-link: "Heading 1"; mso-style-name: "Heading 1 Char"
}
DIV.Section1 {
	page: Section1
}
&lt;/STYLE&gt;

&lt;DIV class=Section1&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0in; LINE-HEIGHT: 115%"&gt;&lt;SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Not all timer jobs are visible in the Central Administration timer job definition page. There are MOSS 2007 timer jobs in the SSP application which don’t appear in the Central Administration page. It makes sense that these jobs are not visible, since there is nothing you can modify or disable. All the same, it would be nice to know what these jobs are, and what their schedules are, in case you want to schedule other potentially conflicting activities.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0in; LINE-HEIGHT: 115%"&gt;&lt;SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'"&gt;You can see the names of these SSP jobs by using &lt;B&gt;stsadm enumssptimerjobs&lt;/B&gt; command, as in the following console sample (view &lt;A class="" title="Hidden SSP Timer Jobs" href="http://blogs.msdn.com/jimmiet/pages/hidden-ssp-timer-jobs.aspx" mce_href="http://blogs.msdn.com/jimmiet/pages/hidden-ssp-timer-jobs.aspx"&gt;entire article&lt;/A&gt; ...)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0in; LINE-HEIGHT: 115%"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8412840" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jimmiet/archive/tags/Profile+Import/default.aspx">Profile Import</category><category domain="http://blogs.msdn.com/jimmiet/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>User Profile Change Logging</title><link>http://blogs.msdn.com/jimmiet/archive/2008/03/29/user-profile-change-logging.aspx</link><pubDate>Sat, 29 Mar 2008 23:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8343760</guid><dc:creator>jimmiet</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jimmiet/comments/8343760.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jimmiet/commentrss.aspx?PostID=8343760</wfw:commentRss><description>&amp;nbsp; 
&lt;H1&gt;Profile Change Logging&lt;/H1&gt;
&lt;P&gt;There is a table in the SSP database named &lt;B&gt;UserProfileEventLog&lt;/B&gt;. The table maintains a history of user profile property changes. By default, it retains 7 days of history. This table can cause problems in a couple of ways.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;First issue: size&lt;/B&gt;. This table contains one row per change of a property in a user profile. The row contains the old and new property values, along with associated metadata like the datetime the property was changed. The implication is that the table can grow large. Assume you just configured the profile import and are ready to start the first Active Directory import. Further, assume your organization has 100,000 user accounts, and each account be populated with 12 AD attributes.&amp;nbsp; The full import will result in 100,000 X 12 = 1.2 millions rows being inserted into UserProfileEventLog. &amp;nbsp;To extend the example, assume you also have a BDC import connection populating another 20 properties from your company's HR system. That adds another 2 million rows. There are now 3.2 million rows in the event log table.&amp;nbsp; If each row is 100 bytes (old value, new value, plus metadata), the table is now approximately 300 MB in size.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Second issue: deleting old entries&lt;/B&gt;. The change history is kept for a configurable number of days. The concern is how many rows will have to be deleted on a given day? The number of days of history is 7 days be default, but can be set using &lt;B&gt;stsadm.exe -o profilechangelog -title &amp;lt;SSP Name&amp;gt; -daysofhistory &amp;lt;number of days&amp;gt; -generateanniversaries&lt;/B&gt; (&lt;A href="http://technet.microsoft.com/en-us/library/cc263013.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc263013.aspx"&gt;http://technet.microsoft.com/en-us/library/cc263013.aspx&lt;/A&gt;). &amp;nbsp;The critical issue is that MOSS has to remove a full day of history every day to honor the &lt;I&gt;daysofhistory&lt;/I&gt; setting. Using the numbers in the preceding paragraph, 7 days after the first full import, MOSS is going to delete 3.2 millions rows of data all at once! &amp;nbsp;What makes this an issue is that this is done with a single SQL statement, something like &lt;B&gt;DELETE FROM&amp;nbsp; UserProfileEventLog WHERE EventId &amp;lt; @MinEventTime&lt;/B&gt;. Think of the implications. As a single statement, this will hold locks until all 3.2 million rows are deleted. These locks might prevent other database transactions from completing; but it also means the transaction log (even with simple recovery mode) cannot be truncated, and will therefore grow until at least this DELETE statement completes. I have seen this delete statement run for 4 hours, with the transaction log quadrupling in size.&lt;/P&gt;
&lt;P&gt;This is little you can do to avoid this. Although you can adjust the number of days of history, MOSS will eventually try to delete an entire day's history at some point. The deletion is done by an internal timer job buried within the SSP. The job is hard coded to run at 10:00 PM daily. You cannot change this scheduled time.&lt;/P&gt;
&lt;P&gt;What are the take-aways?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;1. Be prepared for an occasional long running DELETE statement. Ensure you have sufficient transaction log space to accommodate the potential transaction log growth.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;2. Don't schedule any other timer jobs or database maintenance for 10:00 PM to minimize possible deadlocks and transaction timeouts.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;3. Be careful using &lt;STRONG&gt;stsadm -o profilechangelog&lt;/STRONG&gt; to reduce the number of days of history, because the next time 10:00 PM comes, MOSS will try to delete multiple days of history all at once.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8343760" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jimmiet/archive/tags/Profile+Import/default.aspx">Profile Import</category><category domain="http://blogs.msdn.com/jimmiet/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/jimmiet/archive/tags/User+Profile/default.aspx">User Profile</category></item><item><title>Problems Importing Profile Data from BDC</title><link>http://blogs.msdn.com/jimmiet/archive/2008/03/04/importing-profile-data-from-bdc-problems.aspx</link><pubDate>Tue, 04 Mar 2008 18:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8028563</guid><dc:creator>jimmiet</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jimmiet/comments/8028563.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jimmiet/commentrss.aspx?PostID=8028563</wfw:commentRss><description>&lt;P mce_keep="true"&gt;By default MOSS imports data from a &lt;STRONG&gt;Master Connection&lt;/STRONG&gt; first, which is typically Active Directory but could be another LDAP source. Once a successful master connection import completes, it is possible to import additional data from one or more&amp;nbsp;BDC data sources, also known as supplemental data sources. This is very common, since many organizations keep the bulk of the interesting employee information in HR systems outside of Active Directory. Often these HR systems more accurate and up-to-date than Active Directory, and are therefore considered the official system of record for personnel data. Refer to &lt;A title="Importing User Profiles" href="http://msdn2.microsoft.com/en-us/library/ms585156.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/ms585156.aspx"&gt;Importing User Profiles&lt;/A&gt; on MSDN for additional information on profile importing.&lt;/P&gt;
&lt;P&gt;A relationship between the Master Connection data and the entity methods in the BDC application definition must be established. This is done with an &lt;B&gt;Identifier&lt;/B&gt; field. The Identifier is populated by the Master Connection, and then used as the foreign key when executing the BDC methods. In this picture, &lt;I&gt;AccountName&lt;/I&gt; is the foreign key; however, most commonly this is a numeric value like &lt;I&gt;PersonnelNumber&lt;/I&gt;. (view &lt;A class="" title="Problems Importing Profile Data from BDC" href="http://blogs.msdn.com/jimmiet/pages/importing-profile-from-bdc.aspx" mce_href="http://blogs.msdn.com/jimmiet/pages/importing-profile-from-bdc.aspx"&gt;entire article&lt;/A&gt; ...)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8028563" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jimmiet/archive/tags/Profile+Import/default.aspx">Profile Import</category></item></channel></rss>