Solved

Sql Server Migration Assistant

Posted on 2014-10-17
2
246 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 36

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

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

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

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

749 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