Presentation is loading. Please wait.

Presentation is loading. Please wait.

Module 8 Importing and Exporting Data. Module Overview Transferring Data To/From SQL Server Importing & Exporting Table Data Inserting Data in Bulk.

Similar presentations


Presentation on theme: "Module 8 Importing and Exporting Data. Module Overview Transferring Data To/From SQL Server Importing & Exporting Table Data Inserting Data in Bulk."— Presentation transcript:

1 Module 8 Importing and Exporting Data

2 Module Overview Transferring Data To/From SQL Server Importing & Exporting Table Data Inserting Data in Bulk

3 Lesson 1: Transferring Data To/From SQL Server Overview of Data Transfer Available Tools for Data Transfer Improving the Performance of Data Transfers Disabling & Rebuilding Indexes Disabling & Enabling Constraints Demonstration 1A: Disabling & Enabling Constraints

4 Scenarios Copying or moving between servers Exporting query data to a file Importing table data from a file Copying to or from a view Transforming collations Overview of Data Transfer ETL: Extract Transform Load

5 Available Tools for Data Transfer Bulk Copy Program (bcp) BULK INSERT C:\> bcp XML Bulk Load Import / Export Wizard OPENROWSET(BULK)

6 Notes Page Over-flow Slide. Do Not Print Slide. See Notes pane.

7 Improving the Performance of Data Transfers Disable constraints, indexes, and triggers  No need to check constraints as each row is loaded  Indexes don’t need to be maintained during import  Important to check business requirements before disabling triggers Minimizing locking  Consider the use of TABLOCK to speed up the import Minimizing logging  Database must be in BULK_LOGGED or SIMPLE model  Additional requirements on table structure and locking Minimize data conversions  Use native format when transferring data between SQL Servers

8 Notes Page Over-flow Slide. Do Not Print Slide. See Notes pane.

9 Disabling & Rebuilding Indexes Disabling an index  Prevents user access to the index  Prevents access to the data if it is a clustered index  Keeps index definition in metadata  Speeds up data import in tables, as the index is not maintained during the import Enabling an index  Rebuilds the index entirely  Is easy to automate as the metadata is still present Enabling and disabling indexes can be used as an alternative to dropping and recreating indexes

10 Disabling & Enabling Constraints Disabling PRIMARY KEY and UNIQUE constraints  Is achieved by disabling the associated index  Causes associated indexes to be rebuilt when enabled  Can cause failures during re-enabling if duplicate values exist  Also causes associated foreign key constraints to be disabled Disabling FOREIGN KEY and CHECK constraints  Can be performed directly on the constraint  Causes existing data to not be verified when re-enabled When you enable a FOREIGN KEY or CHECK constraint, existing data is not verified by default

11 Demonstration 1A: Disabling & Enabling Constraints In this demonstration, you will see how to disable and re-enable a Check constraint

12 Lesson 2: Importing & Exporting Table Data Overview of SQL Server Integration Services Demonstration 2A: Working with SSIS SQL Server Import/Export Wizard Demonstration 2B: Using the Import/Export Wizard

13 Overview of SQL Server Integration Services SSIS is a rich framework to develop ETL solutions SSIS packages contain  Data Sources and Destinations  Control and Data Flows  Transformations to be performed SSIS packages can be run using  dtsrun command line utility  SQL Server Agent jobs SSIS packages developed using  SQL Server Business Intelligence Development Studio (BIDS)  Import / Export Wizard

14 Demonstration 2A: Working with SSIS In this demonstration you will see how to use SQL Server Integration Services to export data from a table to a flat file

15 SQL Server Import/Export Wizard Easy to use wizard for creating an SSIS package that performs simple data transfers

16 Demonstration 2B: Using the Import/Export Wizard In this demonstration you will see how to use the Import/Export Wizard to export data to a CSV file

17 Lesson 3: Inserting Data in Bulk bcp Utility Demonstration 3A: Working with bcp BULK INSERT Statement Demonstration 3B: Working with BULK INSERT OPENROWSET Function Demonstration 3C: Working with OPENROWSET

18 BCP Utility Is a command line tool to import and export data Uses a format file when transferring between SQL Instances Creating a format file: bcp Adv.Sales.Currency format nul -T -c –x -f Cur.xml Exporting data into a file: bcp Adv.Sales.Currency out Cur.dat -T –c Importing data using a format file: bcp tempdb.Sales.Currency2 in Cur.dat -T -f Cur.xml Creating a format file: bcp Adv.Sales.Currency format nul -T -c –x -f Cur.xml Exporting data into a file: bcp Adv.Sales.Currency out Cur.dat -T –c Importing data using a format file: bcp tempdb.Sales.Currency2 in Cur.dat -T -f Cur.xml

19 Demonstration 3A: Working with bcp In this demonstration, you will see how to import a file using the bcp utility

20 BULK INSERT Statement Provides options similar to bcp Runs in the SQL Server process Has CHECK_CONSTRAINTS and FIRE_TRIGGERS options Can be executed within a user-defined transaction BULK INSERT AdventureWorks.Sales.OrderDetail FROM 'f:\orders\neworders.txt' WITH ( FIELDTERMINATOR =' |', ROWTERMINATOR =' |\n' ); GO BULK INSERT AdventureWorks.Sales.OrderDetail FROM 'f:\orders\neworders.txt' WITH ( FIELDTERMINATOR =' |', ROWTERMINATOR =' |\n' ); GO

21 Demonstration 3B: Working with BULK INSERT In this demonstration, you will see how to import a file using the BULK INSERT command

22 OPENROWSET Function Allows access to remote data by connecting to a remote data source using an OLE-DB provider Offers a built-in BULK provider for bulk imports from files  Can be used in a FROM clause with full functionality  Can use INSERT.. SELECT to insert data  Offers unique table hints to control operation SELECT * FROM OPENROWSET( BULK 'c:\mssql\export.csv', FORMATFILE = 'c:\mssql\format.fmt', FIRSTROW = 2) AS a; GO SELECT * FROM OPENROWSET( BULK 'c:\mssql\export.csv', FORMATFILE = 'c:\mssql\format.fmt', FIRSTROW = 2) AS a; GO

23 Notes Page Over-flow Slide. Do Not Print Slide. See Notes pane.

24 Demonstration 3C: Working with OPENROWSET In this demonstration, you will see how to import a file using OPENROWSET

25 Lab 8: Importing and Exporting Data Exercise 1: Import the Excel spreadsheet Exercise 2: Import the CSV file Exercise 3: Create and test an extraction package Challenge Exercise 4: Compare loading performance (Only if time permits) Logon information Estimated time: 45 minutes

26 Lab Scenario Proseware regularly receives updates of currencies and exchange rates from an external provider. One of these files is provided as an Excel spreadsheet, the other file is provided as a comma-delimited text file. You need to import both these files into tables that will be used by the Direct Marketing team within Proseware. Periodically the Marketing team requires a list of prospects that have not been contacted within the last month. You need to create and test a package that will extract this information to a file for them. You are concerned about the import performance for the exchange rate file and you are considering disabling constraints and indexes on the exchange rate table during the import process. If you have time, you will test the difference in import performance.

27 Lab Review What kind of information needs to be present in a format file? Which tool or command should you use to read an entire XML document into a column in a SQL Server table?

28 Module Review and Takeaways Review Questions Best Practices


Download ppt "Module 8 Importing and Exporting Data. Module Overview Transferring Data To/From SQL Server Importing & Exporting Table Data Inserting Data in Bulk."

Similar presentations


Ads by Google