Esportazione di un inventario di accesso (AccessToSQL)Exporting an Access Inventory (AccessToSQL)

Se si dispone di più database di Access e non si è certi di quelle per eseguire la migrazione in SQL ServerSQL Server, è possibile esportare un inventario di tutti i database di Access in un progetto.If you have multiple Access databases and you are not sure which ones to migrate into SQL ServerSQL Server, you can export an inventory of all Access databases in a project. È possibile quindi esaminare e query sui metadati per determinare i database e gli oggetti all'interno di tali database per eseguire la migrazione di inventario.You can then review and query the inventory metadata to determine which databases and objects within those databases to migrate. L'inventario consente rapidamente trovare risposte alle domande, ad esempio le operazioni seguenti:This inventory lets you quickly find answers to questions, such as the following:

  • Quali sono i database più grande?What are the largest databases?

  • Chi possiede la maggior parte dei database?Who owns most of the databases?

  • I database che contengono le stesse tabelle?Which databases contain the same tables?

  • I database non sono stati modificati negli ultimi sei mesi?Which databases have not been modified in the last six months?

  • Database che contengono informazioni riservate?Which databases contain private information?

Alla fine di questo argomento vengono forniti esempi di query che consentono di rispondere a queste domande.Query examples that are used to answer these questions are provided at the end of this topic.

Metadati esportatiExported Metadata

SSMA consente di esportare i metadati relativi a accesso database, tabelle, colonne, indici, chiavi esterne, le query, report, form, macro e moduli.SSMA exports metadata about Access databases, tables, columns, indexes, foreign keys, queries, reports, forms, macros, and modules. I metadati su ognuna di queste categorie di elementi vengono esportati in una tabella separata.Metadata about each of these categories of items is exported to a separate table. Per gli schemi di queste tabelle, vedere accesso inventario schemi.For schemas of these tables, see Access Inventory Schemas.

Esportazione dei dati di inventarioExporting Inventory Data

Per esportare un inventario di accesso, deve prima aprire o creare un progetto di SSMA e quindi aggiungere il database di Access che si desidera analizzare.To export an Access inventory, you must first open or create an SSMA project, and then add the Access database that you want to analyze. Dopo aver aggiunto i database a un progetto SSMA, si esporta i metadati relativi a tali database in un determinato SQL ServerSQL Server database e lo schema.After you add databases to an SSMA project, you export metadata about those databases to a specified SQL ServerSQL Server database and schema. Se necessario, SSMA vengono create tabelle per archiviare i metadati.If necessary, SSMA creates tables to store the metadata. SSMA aggiunge quindi i metadati sui database di Access per il SQL ServerSQL Server database.SSMA then adds the metadata about the Access databases to the SQL ServerSQL Server database.

Nota

Un database di Access può essere diviso in più file: un database back-end che contiene le tabelle e database front-end che contengono le query, form, report, le macro, moduli e tasti di scelta rapida.An Access database can be split into multiple files: a back-end database that contains tables and front-end databases that contain queries, forms, reports, macros, modules, and shortcuts. Se si desidera eseguire la migrazione di un database di divisione per SQL ServerSQL Server, aggiungere il database front-end per SSMA.If you want to migrate a split database to SQL ServerSQL Server, add the front-end database to SSMA.

Le istruzioni seguenti descrivono come creare un progetto, aggiungere il progetto di database, connettersi a SQL ServerSQL Servere quindi esportare i dati di inventario.The following instructions describe how to create a project, add databases to the project, connect to SQL ServerSQL Server, and then export inventory data.

Per creare un progettoTo create a project

  1. Aprire SSMA per l'accesso.Open SSMA for Access.

  2. Scegliere Nuovo progetto dal menu File.On the File menu, select New Project.

    Verrà visualizzata la finestra di dialogo Nuovo progetto .The New Project dialog box appears.

  3. Nel nome , immettere un nome per il progetto.In the Name box, enter a name for your project.

  4. Nel percorso immettere o selezionare una cartella per il progetto.In the Location box, enter or select a folder for the project.

  5. Nel Esegui migrazione a combinata, selezionare la versione di destinazione a cui si desidera eseguire la migrazione e quindi fare clic su OK.In the Migrate To combo box, select the target version to which you want to migrate, and then click OK.

Per ulteriori informazioni sulla creazione di progetti, vedere creazione e gestione dei progetti.For more information about creating projects, see Creating and Managing Projects.

Per trovare e aggiungere i databaseTo find and add databases

  1. Nel File menu, fare clic su trovare database.On the File menu, click Find Databases.

  2. Nella creazione guidata database di ricerca, immettere l'unità, percorso del file o percorso UNC che si desidera cercare.In the Find Databases Wizard, enter the drive, file path, or the UNC path that you want to search. In alternativa, fare clic su Sfoglia per selezionare la cartella di rete o unità.Alternatively, click Browse to select the drive or network folder.

  3. Fare clic su Aggiungi aggiungere il percorso nella casella di riepilogo.Click Add to add the location to the list box.

    Ripetere i due passaggi precedenti per aggiungere percorsi di ricerca aggiuntive.Repeat the previous two steps to add additional search locations.

  4. Facoltativamente, aggiungere criteri di ricerca per filtrare l'elenco dei database che vengono restituiti.Optionally, add search criteria to refine the list of databases that are returned.

    Importante

    Il tutto o parte del nome file casella di testo non supporta caratteri jolly.The All or part of the file name text box does not support wildcard characters.

  5. Fare clic su analisi.Click Scan.

    Viene visualizzata la pagina di analisi.The Scan page appears. Mostra i database che sono stati trovati e lo stato di avanzamento di ricerca.This shows the databases that have been found and the search progress. Per interrompere la ricerca, fare clic su arrestare.To stop the search, click Stop.

  6. Nella pagina Seleziona file, selezionare ogni database che si desidera aggiungere al progetto.On the Select Files page, select the each database that you want to add to the project.

    È possibile utilizzare il Seleziona tutto e Cancella tutto pulsanti nella parte superiore dell'elenco per selezionare o deselezionare tutti i database.You can use the Select All and Clear All buttons at the top of the list to select or clear all databases. È anche possibile tenere premuto il tasto CTRL per selezionare più righe o tenere premuto il tasto MAIUSC per selezionare un intervallo di righe.You can also hold the CTRL key down to select multiple rows, or hold the SHIFT key down to select a range of rows.

  7. Scegliere Avanti.Click Next.

  8. Nella pagina verifica, fare clic su fine.On the Verify page, click Finish.

Per ulteriori informazioni sull'aggiunta di database per i progetti, vedere aggiunta e rimozione di file di Database di Access.For more information about adding databases to projects, see Adding and Removing Access Database Files.

Per connettersi a SQL ServerTo connect to SQL Server

  1. Nel File dal menu Connetti al Server SQL.On the File menu, select Connect to SQL Server.

  2. Nella finestra di dialogo connessione, immettere o selezionare il nome dell'istanza di SQL ServerSQL Server.In the connection dialog box, enter or select the name of the instance of SQL ServerSQL Server.

    • Se ci si connette all'istanza predefinita nel computer locale, è possibile immettere localhost o un punto (.).If you are connecting to the default instance on the local computer, you can enter localhost or a dot (.).

    • Se ci si connette all'istanza predefinita in un altro computer, immettere il nome del computer.If you are connecting to the default instance on another computer, enter the name of the computer.

    • Se ci si connette a un'istanza denominata, immettere il nome del computer, una barra rovesciata e il nome dell'istanza.If you are connecting to a named instance, enter the computer name, a backslash, and the instance name. Ad esempio: MyServer\MyInstance.For example: MyServer\MyInstance.

  3. Nel Database , immettere il nome del database di destinazione per i metadati esportati.In the Database box, enter the name of the target database for exported metadata.

  4. Se l'istanza di SQL ServerSQL Server è configurato per accettare le connessioni su una porta non predefinito, immettere il numero di porta utilizzato per SQL ServerSQL Server connessioni nel porta Server casella.If your instance of SQL ServerSQL Server is configured to accept connections on a non-default port, enter the port number that is used for SQL ServerSQL Server connections in the Server port box. Per l'istanza predefinita di SQL ServerSQL Server, il numero di porta predefinito è 1433.For the default instance of SQL ServerSQL Server, the default port number is 1433. Per le istanze denominate, SSMA tenta di ottenere il numero di porta dal SQL ServerSQL Server servizio Browser.For named instances, SSMA tries to obtain the port number from the SQL ServerSQL Server Browser Service.

  5. Nel autenticazione -menu a discesa, seleziona il tipo di autenticazione da utilizzare per la connessione.In the Authentication drop-down menu, select the authentication type to use for the connection. Per utilizzare l'account di Windows, selezionare l'autenticazione di Windows.To use the current Windows account, select Windows Authentication. Per utilizzare un SQL ServerSQL Server account di accesso, selezionare autenticazione di SQL Server, quindi specificare un nome utente e una password.To use a SQL ServerSQL Server login, select SQL Server Authentication, and then provide a user name and password.

Per ulteriori informazioni sulla connessione a SQL ServerSQL Server, vedere connessione a SQL Server ( AccessToSQL ) .For more information about connecting to SQL ServerSQL Server, see Connecting to SQL Server (AccessToSQL).

Per esportare le informazioni di inventarioTo export inventory information

  1. In Esplora metadati accesso espandere accesso metabase.In Access Metadata Explorer, expand Access-metabase.

  2. Selezionare la casella di controllo accanto a database.Select the check box next to Databases.

    Per omettere i singoli database o oggetti di database, espandere il database cartella e quindi deselezionare la casella di controllo accanto al database o di un oggetto di database.To omit individual databases or database objects, expand the Databases folder, and then clear the check box next to the database or database object.

  3. Fare doppio clic su database e selezionare Esporta Schema.Right-click Databases and select Export Schema.

  4. Nel selezionare uno Schema per l'esportazione la finestra di dialogo, selezionare lo schema di destinazione per i metadati esportati e quindi fare clic su OK.In the Select Schema for Export dialog box, select the target schema for the exported metadata, and then click OK.

Ogni volta che si esporta i metadati, SSMA aggiunge i dati per l'inventario.Each time you export metadata, SSMA appends the data to the inventory. I dati esistenti nell'inventario non viene aggiornati o eliminati.Existing data in the inventory is not updated or deleted.

L'esecuzione di query i metadati esportatiQuerying the Exported Metadata

Dopo aver esportato i metadati relativi a database di Access, è possibile eseguire una query di metadati.After you export metadata about Access databases, you can query the metadata. Le istruzioni seguenti viene descritto come per utilizzare la finestra dell'Editor di Query in SQL Server Management StudioSQL Server Management Studio per eseguire query.The following instructions describe to use the Query Editor window in SQL Server Management StudioSQL Server Management Studio to run queries.

Per eseguire query sui metadatiTo query metadata

  1. Dal avviare dal menu tutti i programmi, scegliere Microsoft SQL ServerSQL Server 2005 o Microsoft SQL ServerSQL Server 2008 o Microsoft SQL ServerSQL Server 2012e quindi fare clic su SQL Server Management Studio.From the Start menu, point to All Programs, point to Microsoft SQL ServerSQL Server 2005 or to Microsoft SQL ServerSQL Server 2008 or to Microsoft SQL ServerSQL Server 2012, and then click SQL Server Management Studio.

  2. Nel Connetti al Server la finestra di dialogo, verificare le impostazioni e quindi fare clic su Connetti.In the Connect to Server dialog box, verify the settings, and then click Connect.

  3. Sulla barra degli strumenti Management Studio, fare clic su nuova Query per aprire l'Editor di Query.On the Management Studio toolbar, click New Query to open Query Editor.

  4. Nella finestra dell'Editor di Query, immettere una query.In the Query Editor window, enter a query. Nella sezione seguente vengono illustrati alcuni esempi.Some examples are shown in the following section.

  5. Premere il tasto F5 per eseguire la query.Press the F5 key to run the query.

Esempi di queryQuery Examples

Prima di eseguire le query seguenti, è consigliabile eseguire un utilizzo database_name query per assicurarsi che le query vengono eseguite nel database che contiene i metadati esportati.Before you run any of the following queries, you should run a USE database_name query to make sure the queries are run against the database that contains the exported metadata. Ad esempio, se è stata esportata in un database denominato MyAccessMetadata metadati, aggiungere quanto segue all'inizio del Transact-SQLTransact-SQL codice:For example, if you exported metadata to a database named MyAccessMetadata, you would add the following at the beginning of the Transact-SQLTransact-SQL code:

USE MyAccessMetadata;  
GO  

I seguenti esempi utilizzano tutti la dbo dello schema.The following examples all use the dbo schema. Se è stato esportato i metadati in un altro schema, assicurarsi di modificare lo schema quando si eseguono queste query.If you exported the metadata to another schema, make sure to change the schema when you run these queries.

Le tabelle e le colonne si trovano in questi database?What tables and columns are in these databases?

La query seguente crea un join tra le tabelle che contengono i metadati del database, tabelle e colonna e quindi restituisce i nomi di tutti i database, tabelle e colonne, ordinati in base al nome di colonna:The following query joins the tables that contain column, table, and database metadata, and then returns the names of all databases, tables, and columns, sorted by column name:

SELECT DatabaseName, TableName, ColumnName   
FROM dbo.SSMA_Access_InventoryColumns C  
JOIN dbo.SSMA_Access_InventoryTables T  
ON C.TableId = T.TableId  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON T.DatabaseId = D.DatabaseId  
ORDER BY ColumnName;  

Quali sono i database più grande?What are the largest databases?

La query seguente restituisce il nome del database, dimensioni del file e numero di tabelle in ogni database di Access, ordinati per dimensioni del file:The following query returns the database name, file size, and number of tables in each Access database, sorted by file size:

SELECT DatabaseName, FileSize, TablesCount  
FROM dbo.SSMA_Access_InventoryDatabases  
ORDER BY FileSize DESC;  

Chi è il proprietario della maggior parte dei database?Who is the owner of most of the databases?

La query seguente restituisce il nome del database e ogni database di Access, ordinati in base a proprietario.The following query returns the database name and owner of each Access database, sorted by owner.

SELECT DatabaseName, FileOwner  
FROM dbo.SSMA_Access_InventoryDatabases  
ORDER BY FileOwner;  

I database che contengono le stesse tabelle?Which databases contain the same tables?

La query seguente utilizza una sottoquery per trovare tutti i nomi di tabella che vengono visualizzati più volte nell'elenco di tabelle e quindi utilizza l'elenco delle tabelle per ottenere il nome del database.The following query uses a subquery to find all table names that appear more than once in the list of tables, and then uses this list of tables to get the database name. I risultati vengono restituiti come il nome del database e quindi il nome della tabella e vengono ordinati in base al nome della tabella.The results are returned as the database name and then the table name, and are sorted by table name.

SELECT DatabaseName, TableName   
FROM dbo.SSMA_Access_InventoryTables T  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON D.DatabaseId = T.DatabaseId  
WHERE TableName IN (  
SELECT TableName   
FROM dbo.SSMA_Access_InventoryTables  
GROUP BY TableName   
HAVING count(*)>1  
)  
ORDER BY TableName;  

I database non sono stati modificati negli ultimi sei mesi?Which databases were not modified in the last six months?

La query seguente ottiene la data corrente, ottiene il valore del mese per sei mesi e quindi restituisce un elenco di database con una data di modifica di maggiore di 6 mesi.The following query gets the current date, gets the month value for six months ago, and then returns a list of databases with a modified date of greater than six months ago.

SELECT DatabaseName, DateModified  
FROM dbo.SSMA_Access_InventoryDatabases  
WHERE DATEDIFF(month, DateModified, GETDATE()) > 6  
ORDER BY DateModified;  

Database che contengono informazioni riservate?Which databases contain private information?

Database di Access potrebbero contenere informazioni riservate o personali.Your Access databases might contain sensitive or personal information. È consigliabile spostare i database SQL ServerSQL Server per sfruttare le funzionalità di sicurezza.You might want to move these databases to SQL ServerSQL Server to take advantage of its security features. Se si conosce che hanno un nome specifico, le colonne che contengono dati sensibili o contengono caratteri specifici, è possibile utilizzare una query per trovare tutte le colonne che contengono tali informazioni.If you know that columns containing sensitive data have a specific name, or contain specific characters, you can use a query to find all columns that contain that information. Ad esempio, è possibile trovare tutte le colonne che includono la stringa "salary".For example, you can find all columns that include the string "salary". La query restituisce quindi il nome del database, nome della tabella e il nome di colonna.The query then returns the database name, table name, and column name.

SELECT DatabaseName, TableName, ColumnName   
FROM dbo.SSMA_Access_InventoryColumns C  
JOIN dbo.SSMA_Access_InventoryTables T  
ON C.TableId = T.TableId  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON T.DatabaseId = D. DatabaseId  
WHERE ColumnName LIKE '%salary%';  

Se non si conosce il nome della colonna, è possibile scrivere una query per restituire tutte le colonne.If you do not know the column name, you can write a query to return all columns. A tale scopo, rimuovere la clausola WHERE dalla query precedente.To do this, remove the WHERE clause from the previous query.

Vedere ancheSee Also

Preparazione dei database di Access per la migrazionePreparing Access Databases for Migration