* wwi revision from Robert Cain * added .sln files * adding publish.xml files for ssdt projects * correct DB names in publish.xml * renaming project names to align with DB names * removing redundant config procs from OLAP DB; adding version table * moving full-text indexing to post-deployment script * updated SampleVersion, and added version to post-deployment script * aligning start date with v1 start date * reduce rowcount to accomodate low-end systems * fixing T-SQL syntax error * fixing T-SQL syntax issue * aligning naming of SSIS package with v1 * update RLS sample to work with v2 of wwi City IDs are no longer hard-coded * updating DB names for SSIS * aligning publish name with DB name * updating DB settings * aligning DB name * improved perf for coldroomtemperature Improved process, such that all data for a given day is generated as a single native proc execution, which accumulates the data in a non-durable table. this data is then bulk-moved to the archive table, before adding the most recent data to the current table. * aligning names of memory_optimized_data filegroups * updated filegroups in project files * commenting ApplyPolyBased from post-deployment deployment of the SSDT project should not fail if connection with the Azure storage account cannot be established. Therefore, applying the PolyBase piece to the sample DB is something the user needs to do after deploying the DB. * removing ApplyPolybase from post-deployment * aligning DB set options * cleaning up FTS artifacts * aligning data source name * facilitating publication to azure - removing explicit filegroup references from index definitions - adding snapshot hints to references for memory-optimized tables, to facilicate publication in DBs without the MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT hint * initial updated docs for OLTP DB * initial documentation for WideWorldsImportersDW * docs for SSIS package * initial documentation for SSASMD project * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * adding Azure SQL DB sections to docs * Update README.md * Update README.md * cleaning up local solution files - cleaning up bad references in local solution files - calling out SSAS and SSIS dependencies more explicitly in the READMEs * replacing inner join to BuyingGroups with LEFT JOIN Fixing logical error in the integration proc. Not all customers are in buying groups. * removing redundant reference to release * correction around Azure deployment * corrections around Azure deployment * Update README.md * Update README.md * Update README.md * clarified how 2012 data is generates * Update README.md * minor updates * implementing PR comments * Update README.md * Update README.md * clarifying VS2017 caveats * adding caveat for VS2017 * caveat for VS2017 * removing stale file reference * removing stale folder * adding DB option to post-deployment scripts for Azure SQL DB purposes * fixes for migration Azure SQL Premium->Standard * fixes for enabling/disabling In-Memory OLTP * renaming to avoid confusion * aligning project structure with best practice - aligning SSAS DB name with others
WideWorldImporters Sample Database for SQL Server and Azure SQL Database
WideWorldImporters is a sample for SQL Server and Azure SQL Database. It showcases database design, as well as how to best leverage SQL Server features in a database.
WideWorldImporters is a wholesale company. Transactions and real-time analytics are performed in the database WideWorldImporters. The database WideWorldImportersDW is an OLAP database, focused on analytics.
The sample includes the databases that can be explored, as well as sample applications and sample scripts that can be used to explore the use of individual SQL Server features in the sample database.
Latest release: wide-world-importers-release
Documentation: Wide World Importers Documentation
Feedback on the sample: send to sqlserversamples@microsoft.com
Contents
About this sample
Before you begin
Sample structure
Disclaimers
Related links
About this sample
- Applies to: SQL Server 2016 (or higher), Azure SQL Database
- Key features: Core database features
- Workload: OLTP, OLAP, IoT
- Programming Language: T-SQL, C#
- Authors: Greg Low, Denzil Ribeiro, Jos de Bruijn, Robert Cain
- Update history: 21 June 2017 - restructure using SSDT 25 May 2016 - initial revision
Before you begin
To run this sample, you need the following prerequisites.
Software prerequisites:
- SQL Server 2016 (or higher) or an Azure SQL Database.
- SQL Server Management Studio, preferably June 2016 release or later (version >= 13.0.15000.23).
- Visual Studio 2015 Update 3 (or higher) with SQL Server Data Tools.
- (to run ETL jobs) SQL Server 2016 (or higher) Integration Services (SSIS). At the time of writing, Visual Studio 2017 does not yet support Integration Services projects. You will need to install Visual Studio 2015 to open the SSIS project.
- (to install the SSASMD sample) SQL Server 2016 (or higher) Analysis Services (SSAS). If you are using Visual Studio 2017, download and install the following: Analysis Services
Sample structure
The latest release of this sample is available here: wide-world-importers-release
This sample contains databases as well as a number of sample scripts and workload drivers.
The sample databases are created through SQL Server Data Tools projects in Visual Studio. Each database has its own project; the solution wwi-sample.sln in the root folder of the sample has references to all the projects. To load all project in the solution, SQL Server Integration Services and SQL Server Analysis Services need to be installed on the machine.
The sample scripts are available as Transact-SQL. The workload drivers are sample applications created in Visual Studio.
The source code for the sample is further structured as follows:
Sample scripts that illustrate the use of various SQL Server features with the WideWorldImporters sample database.
Simple apps that simulate workloads for the WideWorldImporters sample database.
SQL Server Data Tools project for the OLAP database WideWorldImporters.
SQL Server Analysis Services Multidimensional project to create the Analysis Services database WWI-SSASMD.
SQL Server Data Tools project for the main OLTP database WideWorldImporters.
SQL Server Integration Services (SSIS) project for the Extract, Transform, and Load (ETL) process that takes data from the transactional database WideWorldImporters and loads it into the WideWorldImportersDW database.
Disclaimers
The code included in this sample is not intended to be used for production purposes.
Related Links
For more information, see these articles: