Connecting Power BI to a SQL Server database is one of the first real skills in BI work. It's quicker than people expect — here's the whole path.
1. Open the connector
In Power BI Desktop, choose Get Data → SQL Server. You'll be asked for two things: the server name and, optionally, the database name.
Database: SalesDW (optional — leave blank to browse all)
2. Choose Import or DirectQuery
This choice matters more than any other:
| Mode | Use when |
|---|---|
| Import | Most cases. Data is loaded into Power BI, reports are fast, refreshes on a schedule. |
| DirectQuery | Data is huge or must be real-time. Power BI queries the database live on every interaction. |
If you're unsure, choose Import. It's faster for the reader and simpler to manage.
3. Sign in
Power BI will ask how to authenticate — usually Windows for on-premises servers or database/Microsoft account for cloud ones. Enter the credentials your database administrator gave you. If access is refused, this is almost always a permissions issue on the database side, not Power BI.
4. Pick your tables
The Navigator shows every table and view. Select the ones you need — don't load the whole database. A clean model with the right tables beats a giant one with everything.
Prefer database views over raw tables where you can. They let you shape and limit the data before it ever reaches Power BI, which keeps your model tidy.
5. Shape, model, build
Use Power Query to clean anything that needs it, set up relationships between your tables, write your measures, and build the report. This is where the real BI work lives.
6. Publish and schedule refresh
Publish to the Power BI Service. For the report to refresh automatically against an on-premises SQL Server, you'll set up an on-premises data gateway — a small piece of software that lets the cloud service reach your database securely. Cloud databases like Azure SQL often don't need one.
Then set a scheduled refresh (say, every morning at 6am), and your report stays current with no manual work.
That's the full loop
Connect → choose mode → authenticate → select → model → publish → schedule. Once it clicks, you'll connect to almost any database the same way.