Working with Partially Contained Databases in SQL Server 2022

Imagine you’re exploring the latest and greatest in SQL Server 2022, and you stumble upon the concept of partially contained databases. It’s like finding a hidden gem that promises to make your life as a developer or database administrator (DBA) a whole lot easier. Let’s dive into what this means, shall we?

Discovering Partially Contained Databases in SQL Server 2022: Your Handy Guide

The Big Reveal

SQL Server 2022 has rolled out some exciting updates, and among them is a feature that’s a game-changer for developers and DBAs alike – partially contained databases. This nifty feature is all about making databases more self-reliant and less tied down to the SQL Server instance hosting them. It’s like giving your database a little backpack of everything it needs so it can easily move from place to place without much hassle.

What Exactly is a Partially Contained Database?

Think of a partially contained database as a self-sufficient entity. It’s designed to carry all its settings and metadata like a little island, isolated from the environment it’s in. This means it’s far easier to pick up this island and move it to another server instance without worrying about external dependencies.

The Perks of Going Partially Contained

  • Migration Made Simple: Moving databases becomes a breeze since you’re not juggling external dependencies.
  • Security, but Better: Security management gets a lot more focused, with measures taken at the database level rather than the instance level.
  • Simplified Admin Life: The complexities of database administration are reduced, allowing for certain settings to be managed directly at the database level, independent of the SQL Server instance.

Setting the Stage for Partially Contained Databases

Before we jump into the hands-on stuff, let’s set up our SQL Server 2022 environment for partially contained databases.

-- Kick things off by enabling the contained database feature
EXEC sp_configure 'contained database authentication', 1;
RECONFIGURE;
-- Next, create your new partially contained database
CREATE DATABASE ContainedDB
CONTAINMENT = PARTIAL;
GO

Practical Magic with T-SQL

Crafting a User in This New World

Inside a partially contained database, you can create users that don’t need logins on the server instance. It’s like giving someone a key to one room without needing to give them a key to the entire building.

USE ContainedDB;
GO
CREATE USER ContainedUser WITHOUT LOGIN;
GO
Moving Day: Database Edition

When it’s time to move your partially contained database to a new server, it’s smoother sailing thanks to fewer instance dependencies.

  1. Start by backing up your database:
BACKUP DATABASE ContainedDB
TO DISK = 'D:\Backups\ContainedDB.bak';
GO
  1. Then, restore it on your destination server:
RESTORE DATABASE ContainedDB
FROM DISK = 'D:\Backups\ContainedDB.bak'
WITH MOVE 'ContainedDB' TO 'D:\Data\ContainedDB.mdf',
MOVE 'ContainedDB_log' TO 'D:\Data\ContainedDB_log.ldf';
GO
Navigating Cross-Database Queries

Even in a partially contained database, cross-database queries are possible. However, it’s wise to keep these to a minimum to maintain the database’s self-contained nature.

-- For when you need to query across databases (make sure cross-database access is set up)
SELECT * FROM ContainedDB.dbo.MyTable
JOIN OtherDB.dbo.OtherTable
ON ContainedDB.dbo.MyTable.ID = OtherDB.dbo.OtherTable.ID;

Words to the Wise

Embracing partially contained databases brings a lot of benefits, but there are a few things to keep in mind:

  • Stay Compatible: Make sure your database’s compatibility level is set right for partially contained databases.
  • Security First: Keep a keen eye on security, especially with cross-database queries.
  • Know Your Limits: Remember that some SQL Server features might not fully support partially contained databases.

Wrapping Up

Partially contained databases in SQL Server 2022 are changing the game, making migrations smoother, security tighter, and administration simpler. By getting to grips with these features, you can streamline your workflow and cut down on SQL Server instance dependencies.

This guide is just the beginning. For the full scoop and more advanced scenarios, diving into the official Microsoft documentation is your best bet.

Related Posts

Troubleshooting Missing SQL Server Statistics

Learn how to diagnose and fix missing SQL Server statistics through a practical troubleshooting guide, including step-by-step solutions and best practices.

Read more

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from The DBA Hub

Subscribe now to keep reading and get access to the full archive.

Continue reading