Contoso Data Generator is a free, open-source tool to generate star-schema-based Contoso databases in several formats: BAK, CSV, Delta, Parquet, PBIT, and PBIX.

You can customize the database generated in size and data distribution, developing your version of the Contoso database.

You can use the content available in different ways:

  • Download an existing, ready-to-use Contoso set of data in one of the formats available. For example, with SQL Server BAK format, you get a backup that you can restore on a SQL Server or Azure SQL instance, or you can use the Delta Table format to upload data in Fabric DirectLake. No programming skills are required. Just download from the latest release: Contoso databases with different sizes are already available for download.
  • Produce your own Contoso database. Download the executable, customize the parameters, and run the scripts to control the content of the database in terms of volume and data distribution. You must alter configuration files and the scripts. No knowledge of SQL or C# is required.
  • Customize the C# code of the tool to implement new features. There is a Visual Studio solution with a C# project running in .NET 6 or later versions. You must be a C# developer to partake in this game.

The content of the database is based on the Microsoft Contoso sample database. We added stores and customers using other files obtained by random data generation services. You can customize all these files and produce any content you want.

The transactions generated in the Sales table are not entirely random: there are parameters used to control the distribution of transactions over products, customers, stores, and time. You can spend many nights playing with these parameters and obtaining different databases to produce trends and exceptions you can analyze for your demos.