Solved

Sql Server Migration Assistant

Posted on 2014-10-17
2
250 Views
Last Modified: 2014-10-23
I am thinking about using SSMA to migrate an access database to SQL Server;

Does (SSMA) SQL Server Migration Assistant migrate only tables?
0
Comment
Question by:metro156
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 40

Assisted Solution

by:lcohan
lcohan earned 250 total points
ID: 40387302
I recommend use rather the migration tool from Microsoft like described in detail below:

http://support.microsoft.com/kb/237980
http://sqlmag.com/database-administration/15-steps-convert-access-data-sql-server
0
 
LVL 37

Accepted Solution

by:
PatHartman earned 250 total points
ID: 40387451
Ichohan,
Although I agree with much of your advice in the 15 steps, your instructions are very old and I've never run into some of the problems you outline.  In addition, the upsizing wizard should be allowed to convert the data.  This should not be done as a separate step.  That way you don't have to worry about foreign keys.   I also allow the wizard to create the database.  After the upsizing is complete, you can optimize the database and define any security.  I rarely have to run the wizard more than once because I've been through this before and so do all my clean up ahead of time.  But if I do have to run it again, I delete the previous attempt from the server and start fresh.

MS has removed the upsizing wizard from Access so as of A2013, it is no longer an option.  You are stuck with SSMA.  I ran into two problems my first time using SSMA.  The first was that SSMA installs a 64-bit version and assumes that is what you need when in fact, you will almost certainly need the 32-bit version since bit-wise you have to match your Office version NOT your Windows version.  The second problem was with SSMA's default choice for date fields.  What it chose was not recognized as a date by the SQL driver I was using so be careful or specifically choose the datetime format you want for consistency.

I also prefer DRI to Triggers and I have never had a problem with upsizing self-referencing tables.  I'm sure Icohan's problem was caused by using append queries rather than allowing the wizard to port the data.  

You can actually run append queries in SQL server that preserve identity column values.  You just have to set a "switch" first.   The following code snippet shows how.
        Set db = CurrentDb()
        Set qd = db.CreateQueryDef("")
            qd.Connect = "ODBC;" & strConnect
            qd.ReturnsRecords = False
''~~~~~~~~~~~~~~~~~~
            qd.SQL = "SET IDENTITY_INSERT " & "tblAuditParms" & " ON"
            qd.Execute
            DoCmd.OpenQuery "qReset011AppendAuditParms"
            qd.SQL = "SET IDENTITY_INSERT " & "tblAuditParms" & " OFF"
            qd.Execute
''~~~~~~~~~~~~~~~~~~
            qd.SQL = "SET IDENTITY_INSERT " & "tblListValues" & " ON"
            qd.Execute
            DoCmd.OpenQuery "qReset016AppendListValues"
            qd.SQL = "SET IDENTITY_INSERT " & "tblListValues" & " OFF"
            qd.Execute
''~~~~~~~~~~~~~~~~~~

Open in new window

0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes two methods for creating a combo box that can be used to add new items to the row source -- one for simple lookup tables, and one for a more complex row source where the new item needs data for several fields.
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question