diff --git a/core/includes/database.inc b/core/includes/database.inc
index d4cb593af6f93e0c4c63e0451c742657bca8531f..6891ea92e1b49238fe04dee4309793280954902d 100644
--- a/core/includes/database.inc
+++ b/core/includes/database.inc
@@ -335,6 +335,7 @@ function db_transaction($name = NULL, array $options = []) {
  * \Drupal\Core\Database\Database::setActiveConnection().
  */
 function db_set_active($key = 'default') {
+  @trigger_error('db_set_active() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use \Drupal\Core\Database\Database::setActiveConnection() instead. See https://www.drupal.org/node/2944084.', E_USER_DEPRECATED);
   return Database::setActiveConnection($key);
 }
 
diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php
index 67f25269ab20395e5c709252768970aa12cb0e12..6a639d7eb3b11e1039281661ae89623e303b2d68 100644
--- a/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php
+++ b/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php
@@ -59,7 +59,7 @@ public function minimumVersion() {
   protected function connect() {
     try {
       // This doesn't actually test the connection.
-      db_set_active();
+      Database::setActiveConnection();
       // Now actually do a check.
       try {
         Database::getConnection();
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php
index 70d9a333ce04b1f0073974527bc128e2bcabeca5..e3312d2e788e17f3b61b24a7c2b22225667b60d8 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php
@@ -58,7 +58,7 @@ public function minimumVersion() {
   protected function connect() {
     try {
       // This doesn't actually test the connection.
-      db_set_active();
+      Database::setActiveConnection();
       // Now actually do a check.
       Database::getConnection();
       $this->pass('Drupal can CONNECT to the database ok.');
diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php
index b0ea18877aecf8d29c1ed77e22ca6dde68a92660..f5cb289329f534b1ec21249de3933817ad72a2f8 100644
--- a/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php
+++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php
@@ -54,7 +54,7 @@ public function getFormOptions(array $database) {
   protected function connect() {
     try {
       // This doesn't actually test the connection.
-      db_set_active();
+      Database::setActiveConnection();
       // Now actually do a check.
       Database::getConnection();
       $this->pass('Drupal can CONNECT to the database ok.');
diff --git a/core/lib/Drupal/Core/Database/Install/Tasks.php b/core/lib/Drupal/Core/Database/Install/Tasks.php
index a2ea41b0d891c7443fdf557aa514fc3dc899ef88..44bddea81da7979006223c434c33671a2ef6d4f2 100644
--- a/core/lib/Drupal/Core/Database/Install/Tasks.php
+++ b/core/lib/Drupal/Core/Database/Install/Tasks.php
@@ -156,7 +156,7 @@ public function runTasks() {
   protected function connect() {
     try {
       // This doesn't actually test the connection.
-      db_set_active();
+      Database::setActiveConnection();
       // Now actually do a check.
       Database::getConnection();
       $this->pass('Drupal can CONNECT to the database ok.');
diff --git a/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php b/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php
index 28d9ff2bd8ec8612a582df26eb4a0d74a3a55015..383b5321950b136e6ab3622be175228e96da7ad9 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php
@@ -113,11 +113,11 @@ public function testEnableMultiConnectionLogging() {
 
     db_query('SELECT name FROM {test} WHERE age > :age', [':age' => 25])->fetchCol();
 
-    $old_key = db_set_active('test2');
+    $old_key = Database::setActiveConnection('test2');
 
     db_query('SELECT age FROM {test} WHERE name = :name', [':name' => 'Ringo'], ['target' => 'replica'])->fetchCol();
 
-    db_set_active($old_key);
+    Database::setActiveConnection($old_key);
 
     $queries1 = Database::getLog('testing1');
     $queries2 = Database::getLog('testing1', 'test2');
diff --git a/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php b/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php
index 66eed0ae9277a6b8f199485f451f3bb54249fd69..22173dae66cda3faa760b912da262c8d86d83316 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\KernelTests\Core\Database;
 
+use Drupal\Core\Database\Database;
+
 /**
  * Regression tests cases for the database layer.
  *
@@ -57,4 +59,16 @@ public function testDBIndexExists() {
     $this->assertSame(FALSE, db_index_exists('test', 'nosuchindex'), 'Returns false for nonexistent index.');
   }
 
+  /**
+   * Tests the db_set_active() function.
+   *
+   * @group legacy
+   *
+   * @expectedDeprecation db_set_active() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use \Drupal\Core\Database\Database::setActiveConnection() instead. See https://www.drupal.org/node/2944084.
+   */
+  public function testDBIsActive() {
+    $get_active_db = Database::getConnection()->getKey();
+    $this->assert(db_set_active($get_active_db), 'Database connection is active');
+  }
+
 }