Solved

Sql Server Migration Assistant

Posted on 2014-10-17
2
245 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
2 Comments
 
LVL 39

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 35

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

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

773 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