anyweb

using SCCM 2012 RC in a LAB - Part 14. Performing a side-by-side Migration from Configuration Manager 2007



32 posts in this topic

In Part 1 of this series we got our AD and SCCM servers ready, and then we installed System Center 2012 Configuration Manager as a standalone Primary site. In Part 2 we configured the SCCM server further by adding some Windows Server roles necessary for the following Configuration Manager 2012 functionality, Software Update Point (SUP) and Operating System Deployment. In Part 3 we configured the server further by Enabling Discovery methods and creating Boundary's and Boundary Groups. In Part 4 we configured Client Settings, Added roles and Distributed the Configmgr Client to our Computers within the LAB, then in Part 5 we enabled the Endpoint Protection Role and configured Endpoint Protection settings and targeted a collection called All Windows 7 Computers with these settings and policies.

 

In Part 6 we configured our SUP further to Deploy software updates to our All Windows 7 Computers and Build Windows 7 X64 collections. In Part 7 we used the Build and Capture process to create our Base Windows 7 X64 wim image. In Part 8 we created a USMT 4 package to migrate the users data using hardlinking and then we imported the captured image into ConfigMgr and created a Deploy Windows 7 X64 task sequence. We created a Deploy Windows 7 X64 Collection and set some User Device Affinity collection variables.

 

In Part 9 we created an Application, and created a deployment type for that application to only install if the Primary User was True for that device (User Device Affinity), we then copied our Task Sequence (duplicated it), deployed the new Task Sequence, added a computer to the new collection and then PXE booted the computer to the Deployment Menu. In Part 10 we monitored the Deployment process in a lot of detail to how UDA sent state messages and we verified that our application installed on the users Primary Device, in addition we modified our collection variables, and added a prestart command to our boot image to prompt for the SMSTSUdaUsers. In Part 11 we setup the Reporting Services Point Role and verified that reporting was working.

 

In Part 12 we demonstrated a new feature in ConfigMgr which allows us to Patch operating system WIM images using Offline Servicing. This means that you can apply Windows Updates by using Component-Based Servicing (CBS) to update the your previously captured WIM images. In Part 13 we looked at how Role Based Administration is used within ConfigMgr and we created a new custom role to allow a user (or users within a Security Group) to view Software Update Reports. This is useful because you will probably want one team to take care of configuring and deploying software updates, and to grant another (Management etc) the capability of reviewing Compliance Reports.

 

Now we will perform a side-by-side migration from Configuration Manager 2007.

 

For recommended reading about migrating to Configuration Manager 2012 and best practise advice, please refer to the following links from Technet:-

Some key points about migration.

  • Before you migrate any data from Configuration Manager 2007, you must first install and configure the System Center 2012 Configuration Manager hierarchy. You should not try to recreate or mirror your hierarchy from the source to the destination. Plan to only migrate what you need in the new hierarchy and focus on the new features and design of Configuration Manager 2012.

  • You cannot upgrade from SMS 2003 to Configuration Manager 2012, the only supported method is to migrate from SMS 2003 to Configuration Manager 2007 (in-place or side-by-side) and then perform a side-by-side migration to Configuration Manager 2012. Or, you could call it a day on SMS 2003 and start fresh with Configuration Manager 2012.

  • You cannot do an in-place upgrade from Configuration Manager 2007 to Configuration Manager 2012. If you want to migrate your data and objects from Configuration Manager 2007 to Configuration Manager 2012 then you have to perform a side-by-side migration.

  • Your source hierarchy (Configuration Manager 2007) must be at Service Pack 2 level.

  • You must specify the top level site of your source heirarchy (Configuration Manager 2007).

  • When System Center 2012 Configuration Manager gathers data, the following network protocols and ports are used: NetBIOS/SMB – 445 (TCP), RPC (WMI) - 135 (TCP), SQL Server - 1433 (TCP). As a result, ensure that they are not blocked between your source and destination servers.

  • To perform the migration, the account used in Configuration Manager 2012 console must be a member of the Full Administrator security role. This security role grants permissions to manage all migration operations, which includes the creation of migration jobs, cleaning up, monitoring, and the action to share and upgrade distribution points.

  • If you have mixed collections containing users and computers in Configuration Manager 2007, separate them into separate collections prior to the migration.

  • Site codes must be unique. You cannot re-use site codes from a source hierarchy (Configuration Manager 2007) to the destination hierarchy (Configuration Manager 2012).

  • When you migrate content, it is the compressed source files that migrate to System Center 2012 Configuration Manager.

  • We can migrate the following: Collections, Advertisements, Boundaries, Software distribution packages, Virtual application packages,Software Updates, Operating System Deployment, Desired Configuration Management, Asset Intelligence, Software metering rules.

Ok now that we are aware of the above, and after reviewing the pages on Technet for best practise advice, let's do a simple migration in our LAB. This LAB has a Configuration Manager 2007 server configured with a separate boundary from our Configuration Manager 2012 site boundaries. Both sites are within the same AD Forest. Both sites are standalone primaries. For this LAB we will migrate some Software Update items. Before doing so let's take a very quick look at what the software updates collection structure looks like in our Configuration Manager 2007 site.

 

 

 

 

 

 

cm07 site.png

 

 

 

Step 1. Specify Source Hierarchy

Perform the following on your Configuration Manager 2012 server as SMSadmin.

 

In the Administration workspace, expand Overview and select Migration, as we havn't migrated anything yet it's going to look pretty bland.

 

migration.png

 

We need to specify the source hierarchy in order to establish a connection between the source (CM07) and destination (CM12) servers, so click on Specify Source Hierarchy in the ribbon.

 

specify source hierarchy.png

 

when the wizard appears we need to specify the Top-Level Configuration Manager 2007 site server. So fill in those details.

 

specify top level cm07 site.png

 

Next we need to specify the Source site account to use to access the SMS Provider for that site server. The account needs read permissions on all source site objects. In our LAB we will specify the CM07Admin account which was the same account used to install that site server. So click on the Set drop down menu and select New Account.

 

new account.png

 

Input your account credentials and click on Verify

 

verify cm07.png

 

Click on Test connection

 

test connection.png

 

make sure you see a successful connection before proceeding.

 

the connection was successfully verified.png

 

We will use the same account as the source site SMS provider account, so click on OK to exit this wizard.

 

ok to wizard.png

 

after clicking ok you'll see a window informing you that it is gathering data from the source site

 

gathering data from source site.png

 

a few minutes later and it's done, close that window.

 

gathering data done.png

 

at this point we can now see that our migration summary window has populated with some information.

 

migration summary.png

 

Note: You can start and stop the data gathering process by using the Gather Data Now, and Stop Gathering Data actions in the Configuration Manager console.

 

 

Step 2. Create a migration job

Perform the following on your Configuration Manager 2012 server as SMSadmin.

 

In the ribbon click on Create Migration Job

 

create migration job.png

 

When the Migration Job wizard appears give it a name that is descriptive of what we are planning on migrating. Notice that in the drop down menu for Job Type we have three choices

  • Collection Migration
  • Object Migration
  • Objects modified after migration

In this case we are going to migrate collections, so we will name this migration job as follows:- Migrate Software Update Management Collections

 

 

 

 

 

 

collection migration.png

 

Click next and a list of collections that can be migrated to Configuration Manager 2012 are displayed. As we are only interested in migrating our Software Update collections, let's select them. If you have advertisements associated with these collections (Deployment Management Tasks) then they will be migrated also if you select Migrate objects that are associated with the specified collections.

 

selected collections.png

 

next we get to select objects that we want to migrate. Look through what is highlighted and decide if you really want to migrate it or not, this is a LAB so we'll let everything stay selected.

 

select objects.png

 

for Content ownership, specify which site in your Configuration Manager 2012 hierarchy will be the designated owner of the content, in our LAB we have standalone primaries so just click next.

 

content ownership.png

 

next you can specify the Security Scope to be applied to the migrated objects, select the Default option. (I will return to Security Scopes in a separate Part).

 

security scope.png

 

if any collections need to be limited to All Systems or All Users then they'll appear here, we are ok so lets proceed.

 

configure collection limiting.png

 

On the Site Code Replacement screen you may see collections that are based on Queries that are limited to Site codes, we don't have any in this LAB so nothing appears, but if you have any queries like this in your LAB then you'll see those collections listed here. What it's telling you is that you'll have to edit the queries to point to the new site code.

 

site code replacement.png

 

and now you get to review the information, you can save it to a file (recommended) which is a plain text file that lists things that you should be aware of. Save the file, read it. Action it.

 

save to file.png

 

Next you can decide to run the migration job now (default) or schedule it until later. We want to migrate now so let's do that. Note that we don't want any new deployments being enabled after an advertisement is migrated so verify that setting is not selected (by default it is not selected). This will mean that you have to manually enable the deployments in Configuration Manager 2012, but that's ok isn't it.

 

settings.png

 

click next at the summary and let the wizard do its work...then review the confirmation screen

 

sucessful migration job.png

 

 

Step 3. Monitor your migration job and resolve issues found.

Perform the following on your Configuration Manager 2012 server as SMSadmin.

 

In the console click on Migration Jobs and you'll see the status of our newly created migration job, in the screenshot below it is still running.

 

still running.png

 

After a while it should complete, note that the status in our LAB says Failed. Before we find out why, let's review the information that the job shows us in the summary, in particular let's review the Object Migration Progress. We can see that it has migrated 2 objects, 7 failed and 3 were skipped.

 

 

object migration progress.png

 

Click on the Objects in Job tab to get specific information about the status of migration.

 

objects in job.png

 

The objects that are skipped are empty collections (empty collections are NOT migrated). The failed objects are more interesting and you can select each object that has failed and read its corresponding message (by scrolling to the right) to find out what you need to do to fix it.

 

failure message.png

 

for example, the following message appears on one of the objects:-

 

The destination site has not yet synchronized the software update with UniqueID 5f8a1117-.....required for migration of the software update package. Ensure the software update point has been configured and the software updates are synchronized at the destination site.

 

Great, now we know what's wrong and how to fix it.

 

The message in this example is telling us that the products synched are not matching on the destination (it doesn't understand how to deal with them) so let's verify how our Products are configured on both sites, CM07 on the left, CM12 on the right, see the difference ?

 

cm07 versus cm12.png

 

They should both be identical prior to running the Migration Job, this is an important lesson for you :-)

 

So correct the problem, do a Software update sync on CM12 and run your migration job again. Repeat this process for each failed message until all messages have been actioned upon. Note that you will most likely have to go and Gather Data again particularly if the logs/messages tell you to do so. But once you've resolved the problems your migration should complete as per the screenshot below.

 

completed migration job.png

 

and here's what did get migrated, I may go into further details about migrations in a later post, notice the migrated Advertisments become Deployments.

 

migrated deployments.png

 

another view in Software Library, Software Updates

 

migrated software update deployment.png

 

don't forget to enable any Deployments that you want enabled

 

dont forget to Enable any deployments.png

 

Finally, you can review the Migration Summary screen to get an overview of your total Migration Progress (you'll need to create more migration jobs to get the other objects if you want them

 

migration summary 6 done.png

 

Troubleshooting note

 

You can review the migctrl.log and smsprov.log log files for more information about problems with your migration see screenshot below. They will give you more information about what is going on behind the scenes.

 

migctrl log.png

Share this post


Link to post
Share on other sites


When attempting to gather data from my SCCM 2007 hierarchy, I am getting the following error:

 

23majbb.jpg

 

 

The credentials I used are verified and when I tested the connect to the SCCM 2007 SQL db it passed, the db is online, there are no firewalls between the machines. The only bit I'm not sure on is if the specified credentials have Read and Execute permissions to the source site db..

 

Any ideas?

Share this post


Link to post
Share on other sites

Hello:

 

firstable thanks for these series of posts! they are a great value.

I have a doubt about the migration to SCCM 2012. We have a SMS 2003 infraestructure and we are planning to migration to SSCM. The first option was SCCM 2007 but because SCCM 2012 is in RC version we are thinking to migrate to this latest product version. Reading this post yo mention this:

 

"You cannot upgrade from SMS 2003 to Configuration Manager 2012, the only supported method is to migrate from SMS 2003 to Configuration Manager 2007 (in-place or side-by-side) and then perform a side-by-side migration to Configuration Manager 2012. Or, you could call it a day on SMS 2003 and start fresh with Configuration Manager 2012."

 

Could you explain a little more this? Why is not possible to migrate from SMS 2003 to SCCM 2012 (side by side)?

 

Thanks a lot again.

Share this post


Link to post
Share on other sites

you cannot migrate from SMS 2003 to ConfigMgr 2012 because there is no mechanism to do so within ConfigMgr 2012, and there won't be. There are capabilities built in to migrate from ConfigMgr 2007 however as described above.

Share this post


Link to post
Share on other sites

Hi, anyweb:

 

I understand what you say. SCCM 2012 have tools that can help us in the migration process because they gather the information from SCCM 2007 and import it in SCCM 2012, rigth? So the problem is that there´s no way (scripts, third party tools...) to export the information stored in SMS 2003 and import it in SCCM 2012, is it?

 

thanks a lot again.

Share this post


Link to post
Share on other sites

no way that i know of, correct.

Share this post


Link to post
Share on other sites

Your step-by-step instructions are still the best on web! Thanks for that!

Everything is working perfectly! Now I am waiting for RTM ;-)

1 person likes this

Share this post


Link to post
Share on other sites

Hi:

 

I´m trying to make a migration from SCCM 2007 to SCCM 2012. I have installed a CAS and a Pimary Site (which is going to host the content of the SCCM 2007 server) in a SCCM 2012 hierarchy. Then, I start the migration wizard from the Primary site created before and configure the accounts. I´m using my personal account, which is domain admin and administrador in both machines. Is a sysadmin account inside SQL Server and is member os the SMS Admin group in SCCM 2007. In SCCM 2007 the version of SQL Server is 2005. The ports 1434, 135 and 445 are open between the servers. The error message i´m getting is:

 

"Configuration Manager failed to gather data from <server>"

Configuration Manager failed to connect the databse of the source site. Ensure the source site database server is online, that the specified credentials have Read and Execute permissions to the source site database, and that firewall exceptions are configured and include the following ports: 1433 (TCP) , 1434 (TCP)

"

There´s no firewall between the server (they are in a virtual server) and all ports are open. Why the message says anything about 1434 port? I think this is an UDP port, and we only need is 1433. I test the connection from the migration wizard and it´s OK.

Any ideas would be appreciated.

 

Thanks a lot in advance!

Share this post


Link to post
Share on other sites

Hi again:

looking at migmctrl.log at CAS server (I had notice yesterday that this is the server that really process the migration instead of the Primary site Server from which I launch the migration) I found two errors. This is te complete trace:

 

[MigMCtrl]: NOTIFY job manager ( 1, 0, C:\Program Files\Microsoft Configuration Manager\inboxes\mmctrl.box\16777223.SYN ). SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Connection string = Data Source=(local);Initial Catalog=CM_CAS;Integrated Security=True;Persist Security Info=False;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Application Name="Migration Manager". SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Created new sqlConnection to (local) SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Start processing schedule changed event for MIG_SiteMapping.ID=16777223 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Can not find schedule item with ID 16777223 and type MIG_SiteMapping. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: The schedule item with ID 16777223 and type MIG_SiteMapping is either deleted or processed at CAS site. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: End processing schedule changed event for MIG_SiteMapping.ID=16777223 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigMCtrl]: EVENT raised ( 1, 0, C:\Program Files\Microsoft Configuration Manager\inboxes\mmctrl.box\16777223.SYN ). SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigMCtrl]: NOTIFY job manager ( 1, 0, C:\Program Files\Microsoft Configuration Manager\inboxes\mmctrl.box\16777224.SYN ). SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Connection string = Data Source=(local);Initial Catalog=CM_CAS;Integrated Security=True;Persist Security Info=False;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Application Name="Migration Manager". SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Created new sqlConnection to (local) SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Start processing schedule changed event for MIG_SiteMapping.ID=16777224 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Update the DateNextRun of the schedule item MIG_SiteMapping.ID=16777224 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Calculating the next run time ... SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: This is a recurring schedule token. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: This item hasn't run yet, we will run it immediately. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Check requested operation for schedule item MIG_SiteMapping.ID=16777224 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Start operation requested, the scheduled item 16777224 will be started once computing resource is allocated. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: End processing schedule changed event for MIG_SiteMapping.ID=16777224 SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigMCtrl]: EVENT raised ( 1, 0, C:\Program Files\Microsoft Configuration Manager\inboxes\mmctrl.box\16777224.SYN ). SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigMCtrl]: 2 instruction file processed. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Connection string = Data Source=(local);Initial Catalog=CM_CAS;Integrated Security=True;Persist Security Info=False;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Application Name="Migration Manager". SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

Created new sqlConnection to (local) SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Start two step scheduling for MIG_SiteMapping SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Step 1. Query the schedule items that was running or requested to start immediately ... SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Clear the requested operation. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Calculating the next run time ... SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: This is a recurring schedule token. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: This item already run at 02/29/2012 07:07:38 UTC, 02/29/2012 08:07:38 Local Time, the next run time is 02/29/2012 11:07:38 UTC, 02/29/2012 12:07:38 Local Time. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Set the next run time to 02/29/2012 11:07:38 UTC, 02/29/2012 12:07:38 LocalTime. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Got an scheduled item 16777224. Set the sleep time to 0. SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: End two step scheduling for MIG_SiteMapping SMS_MIGRATION_MANAGER 29/02/2012 8:07:38 2900 (0x0B54)

[MigrationManager]: Impersonation is about to start ... SMS_MIGRATION_MANAGER 29/02/2012 8:08:10 2900 (0x0B54)

[MigrationManager]: Impersonation succeed, current user identity is: EJGVNET\IONTORIA SMS_MIGRATION_MANAGER 29/02/2012 8:08:10 2900 (0x0B54)

Connection string = Data Source=EJWP115;Initial Catalog=SMS_EJZ;Integrated Security=True;Persist Security Info=False;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;Application Name="Migration Manager". SMS_MIGRATION_MANAGER 29/02/2012 8:08:10 2900 (0x0B54)

[MigrationManager]: Impersonation is reverted. SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

STATMSG: ID=8610 SEV=E LEV=M SOURCE="SMS Server" COMP="SMS_MIGRATION_MANAGER" SYS=SCCM2012SCSQL.ejsarea.net SITE=CAS PID=2024 TID=2900 GMTDATE=mié feb 29 07:08:26.681 2012 ISTR0="SCCM2012SCSQL.ejsarea.net (CAS)" ISTR1="ejwp115.ejsarea.net" ISTR2="-2146232060" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=0 SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Set the schedule item 16777224 to Failed. SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

ERROR: [MigrationManager]: Error occurred when trying to make sql connection to EJWP115. Contact product support for help. Error Information -2146232060, Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

ERROR: [MigrationManager]: Microsoft.ConfigurationManagement.Migration.MigrationException: Error occurred when trying to make sql connection to EJWP115. Contact product support for help. Error Information -2146232060, Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.ConfigurationManager.ManagedBase.SqlConnectionBuilder.GetSqlConnection(String sqlServerName, String sqlInstanceAndDatabaseName, String applicationName, SqlConnectionSecurityLevel securityLevel) at Microsoft.ConfigurationManagement.MigrationManager.ConnectionBuilder.BuildSqlConnection(Dictionary`2 context) --- End of inner exception stack trace --- at Microsoft.ConfigurationManagement.MigrationManager.ConnectionBuilder.BuildSqlConnection(Dictionary`2 context) at Microsoft.ConfigurationManagement.MigrationManager.JobManagerBase`1.<get_ConnectionFactory>b__0(Dictionary`2 n) at Microsoft.ConfigurationManagement.MigrationManager.ObjectFactory.<>c__DisplayClass1`1.<Register>b__0(Dictionary`2 n) at Microsoft.ConfigurationManagement.MigrationManager.ObjectFactory.TryCreate[T](Dictionary`2 context) at Microsoft.ConfigurationManagement.MigrationManager.JobManagerBase`1.ConnectToLegacySite(IMigrationSiteInfo siteInfo) at Microsoft.ConfigurationManagement.MigrationManager.SyncAgentJobManager.CreateJob(MigrationRepository repository, MIG_SiteMapping scheduleItem) at Microsoft.ConfigurationManagement.MigrationManager.JobManagerBase`1.GetNextJob(Int32& sleepMilliseconds) SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Start two step scheduling for MIG_SiteMapping SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Step 1. Query the schedule items that was running or requested to start immediately ... SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Step 2. Query the first item in order of DateNextRun ... SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: The item MIG_SiteMapping 16777224 is scheduled to run at 02/29/2012 11:07:38 UTC, 02/29/2012 12:07:38 Local Time, sleep for 03:59:11.8270000. SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: End two step scheduling for MIG_SiteMapping SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

Connection string = Data Source=(local);Initial Catalog=CM_CAS;Integrated Security=True;Persist Security Info=False;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Application Name="Migration Manager". SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

Created new sqlConnection to (local) SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Start two step scheduling for MIG_Job SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Step 1. Query the schedule items that was running or requested to start immediately ... SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: Step 2. Query the first item in order of DateNextRun ... SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: No item found. Sleep until the next event. SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigrationManager]: End two step scheduling for MIG_Job SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigMCtrl]: the workitem queue is full! SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

[MigMCtrl]: WAIT 3 event(s) for 60 minute(s) and 0 second(s). SMS_MIGRATION_MANAGER 29/02/2012 8:08:26 2900 (0x0B54)

The error says something about a timeout period expires. I have test the connection from the CAS server to the SCCM 2007 server and is OK and this error appears after 1 minuto more or less (so it cannot be a timeout error). Could anyone give any ideas?

 

Thanks a lot!

Share this post


Link to post
Share on other sites

Hi again!

We have resolved the problema. It was an issue with DNS entries. The gather information process has worked finally!

 

Thanks!

Share this post


Link to post
Share on other sites

Hello,

 

i was trying to Migrate from SCCM 2007 SP2 to SCCM 2012 RC2.

The environment is build up with a Domain Controller, SQL Server 2008 SP2 CU 7. The 2007 Database runs on the same machine under a SQL Server 2008 SP2 instance.

The 2007 environment is a cloned productive environment without the secondary sites connected to the primary site. Should I deinstall all secondary sites which are not connected to the test environment?

When i was trying to define the Source Hierarchy the gathering process starts and stop with a error message.

This are the error messages from migmctrl:

WARNING: [Worker]: This site (version:4.0.6487.800) does not support ImportedObject, the minimum version to support this is 5.0.7338.0 SMS_MIGRATION_MANAGER 29.02.2012 14:26:44 3972 (0x0F84)

ERROR: [Worker]: System.Data.SqlClient.SqlException: A .NET Framework error occurred during execution of user-defined routine or aggregate "fnSCCMMultiByteToWideChar": System.ArgumentException: Culture ID 16528 (0x4090) is not a supported culture. Parameter name: culture System.ArgumentException: at System.Globalization.CultureTableRecord.GetCultureTableRecord(Int32 cultureId, Boolean useUserOverride) at System.Globalization.CultureInfo..ctor(Int32 culture, Boolean useUserOverride) at Microsoft.SystemsManagementServer.SQLCLR.SMSUtil.Utility_DBCSToWideChar(SqlInt32 lcid, SqlBinary multiBytes) . at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.HasMoreRows() at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) at System.Data.SqlClient.SqlBulkCopy.ReadFromRowSource() at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal() at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount) at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyDataAndGetResult[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result, Boolean doNotDrop) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyData[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result, Boolean doNotDrop) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyData[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result) at Microsoft.ConfigurationManagement.MigrationManager.SyncAgentJob.<SyncObjectsInformation>d__25.MoveNext() SMS_MIGRATION_MANAGER 29.02.2012 14:26:53 3972 (0x0F84)

ERROR: [Worker]: Microsoft.ConfigurationManagement.Migration.MigrationException: 1 exceptions occurred during syncing. at Microsoft.ConfigurationManagement.MigrationManager.SyncAgentJob.<get_ExecutionPlan>d__7.MoveNext() at Microsoft.ConfigurationManagement.MigrationManager.Job`1.ExecuteNext() SMS_MIGRATION_MANAGER 29.02.2012 14:27:05 3972 (0x0F84)

ERROR: [MigMCtrl]: FAILED to EXECUTE job. error = Unknown error 0x80131500, 80131500 SMS_MIGRATION_MANAGER 29.02.2012 14:27:05 3972 (0x0F84)

ERROR: [MigMCtrl]: FAILED to EXECUTE job. error = Unknown error 0x80131500, 80131500 SMS_MIGRATION_MANAGER 29.02.2012 14:27:05 3972 (0x0F84)

 

Any help would be appreciated.

 

kind regards

Christopher

Share this post


Link to post
Share on other sites

Thanks for the nice set of migration info. I've depended on this site for making my SCCM 2007 experience as pleasant as possible. Happy to see that I can continue to do that with SCCM 2012.

 

The logistics of actually doing the migration seem to be moderately complex. Or, I'm totally misunderstanding some of the issues. Since we are getting ready to bring up SCCM 2012, I'd like to understand the issue with boundaries and some of the timing issues for migration.

 

From above it appears that SCCM 2012 and SCCM 2007, running in parallel at the same time, must either have different boundaries, or as you migrate over collections/computers to SCCM 2012, that are in a particular boundary (say subnets), you have to remove that boundary from the SCCM 2007 server.

 

So, is this how it has to go?

1. Bring up SCCM 2012 and configure. Place it on a subnet that is NOT part of the SCCM 2007 boundaries.

2. Test the SCCM 2012 setup to make sure it works. Will need to create a SCCM 2012 boundary (and place in a boundary group) that is NOT contained in any of the SCCM 2007 boundaries. So, a different subnet.

3. Migrate over some advertisements/packages and test SCCM 2012 software distribution of those packages to some test machines in the new boundary group. Or, I guess you could also create some new applications and advertisements.

4. Once you are happy with the new SCCM 2012 service, start the migration in earnest.

 

Note - Here is where I get a little confused over the sequence and timing.

 

5. Migrate over from SCCM 2007 a collection of computers that are all in a specific boundary/subnet. I'm assuming that you would need to then remove that boundary from SCCM 2007 and add a new boundary to SCCM 2012 that would comprise the subnet(s) for the computers that were in the collection you migrated. Not sure about the sequence of what you do first.

6. Once the boundary is in place in SCCM 2012 (and removed from SCCM 2007), you install the new SCCM 2012 client on all the computers that are now in the boundary (and a collection) that is part of SCCM 2012. Once that is done you can proceed to do your normal software distributions to those computers from SCCM 2012.

7. Repeat steps 5 and 6 for the rest of your boundaries and computers in SCCM 2007 until all computers have been migrated.

8. At the end of all this, SCCM 2007 should not have any boundaries configure on it.

 

Note that I'm a little perplexed about the new SCCM 2012 site code. It has to be different that the site code used by SCCM 2007. But, isn't that site code info stored up in Active Directory (and possibly in DNS and WINS)? So, when/how to change the site code info on Active Directory?

 

And once that information is changed (in order to be able to install the new client on all the migrated computers), won't that mean that you will lose the ability to install the client on any remaining SCCM 2007 boundaries?

 

Hmmm. Does that mean you need to migrate all computers in the organization at the same time, remove all the boundaries from SCCM 2007, change the site code info in AD, and then install the new SCCM 2012 client on all computers at the same time? Sorta seems that way.

 

If anyone can shed any light on the above questions, it would really help me out.

 

Thanks,

 

Geoff Weatherford

CSU/CVMBS

Share this post


Link to post
Share on other sites

how about sccm 2012 rc installation? Do we have to choose "join the primary site to an existing hierarcy"?

Share this post


Link to post
Share on other sites

not following you, what are you trying to migrate from and to ?

Share this post


Link to post
Share on other sites

A short Update on the problem.

The following procedure did the trick. https://connect.micr...ource-hierarchy

I delete the affected column manually in the sccm 2007 database. The automatic cleanup task didn't recognize the column.

 

Can someone help please - I have this same problem when trying to gather data but the link posted above does not work for me.

 

I get an error while gathering data from my 2007 site.

 

The migmctrl.log says this:

 

ERROR: [Worker]: System.Data.SqlClient.SqlException: A .NET Framework error occurred during execution of user-defined routine or aggregate "fnSCCMMultiByteToWideChar": System.ArgumentException: Culture ID 1252 (0x04E4) is not a supported culture. Parameter name: culture System.ArgumentException: at System.Globalization.CultureTableRecord.GetCultureTableRecord(Int32 cultureId, Boolean useUserOverride) at System.Globalization.CultureInfo..ctor(Int32 culture, Boolean useUserOverride) at Microsoft.SystemsManagementServer.SQLCLR.SMSUtil.Utility_DBCSToWideChar(SqlInt32 lcid, SqlBinary multiBytes) . at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.HasMoreRows() at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) at System.Data.SqlClient.SqlBulkCopy.ReadFromRowSource() at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal() at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount) at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyDataAndGetResult[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result, Boolean doNotDrop) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyData[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result, Boolean doNotDrop) at Microsoft.ConfigurationManagement.MigrationManager.MigrationRepository.BulkCopyData[T](Snapshot snapshot, SqlDataReader dataReader, Dictionary`2 parameters, Int64& total, Func`2 result) at Microsoft.ConfigurationManagement.MigrationManager.SyncAgentJob.<SyncObjectsInformation>d__25.MoveNext()

 

ERROR: [Worker]: Microsoft.ConfigurationManagement.Migration.MigrationException: 1 exceptions occurred during syncing. at Microsoft.ConfigurationManagement.MigrationManager.SyncAgentJob.<get_ExecutionPlan>d__7.MoveNext() at Microsoft.ConfigurationManagement.MigrationManager.Job`1.ExecuteNext()

 

ERROR: [MigMCtrl]: FAILED to EXECUTE job. error = Unknown error 0x80131500, 80131500

 

 

Any ideas???

 

thanks,

Jay

Share this post


Link to post
Share on other sites

Any ideas about migrating SMS 2003 to SCCM 2012?

The SMS 2003 Site could co-exist with a SCCM 2012 Site?

What is the best way to replace a SMS 2003 site with a SCCM 2012 site, and to upgrade the agents.

Share this post


Link to post
Share on other sites

as per my post above

 

You cannot upgrade from SMS 2003 to Configuration Manager 2012, the only supported method is to migrate from SMS 2003 to Configuration Manager 2007 (in-place or side-by-side) and then perform a side-by-side migration to Configuration Manager 2012. Or, you could call it a day on SMS 2003 and start fresh with Configuration Manager 2012.

Share this post


Link to post
Share on other sites

First I would like to say your documentation is awesome. I've used them several times and have referred clients to them.

 

Second is the issue: You have a troubleshooting screen at the end of the post showing the logfile for migctrl.log. Our log log looks just like that and none of our collections will migrate. We have been able to migrate the security updates, software packages, software metering, CI and Task Sequence but everytime we try to do collections we fail. any suggestions to where to start looking.

Share this post


Link to post
Share on other sites

Great documentation. I have a question. Once I am happy with the migration from SCCM 2007 to 2012, what is the best way to decommission/uninstall SCCM 2007?

Share this post


Link to post
Share on other sites

Hi All,

 

Pls help

 

If I have 3 Primary Sites and 1 CAS in SCCM 2007 Hierarchy, then what is the procedure need to follow to migrate the objects to SCCM 2012??

 

 

I need to Migrate from CAS or I need to Migrate the data from all the primary site servers separately???

 

Pls help

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now