sql >> Databáze >  >> RDS >> Sqlserver

změňte databázi na „online“ a nastavte db na „více uživatelů“

^ Toto je problém, který musíte vyřešit.

Ujistěte se, že v této databázi nejste. Zavřete všechna okna dotazů, která jsou k němu připojena, vypněte podrobnosti Průzkumníka objektů, zavřete SSMS a znovu jej otevřete bez Průzkumníka objektů připojeného k danému serveru atd. Spusťte toto:

USE [master];
GO

ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE mydb;
GO

To by vám mělo umožnit převést jej online a poté spustit příkazy, které jste uvedli.

Nicméně:

  • Může to trvat déle, než byste mohli, v závislosti na tom, k jaké aktivitě vrácení musí dojít u relací, které ukončujete.
  • Vždy je možné, že když jej nastavíte na jednoho uživatele, může být jiný proces rychlejší než vy a získat toto jediné připojení. Pokud zjistíte, že k tomu dochází, můžete zjistit, kdo to je, pomocí sp_whoisactive nebo DMV jako sys.dm_tran_locks - může se stát, že budete muset pozastavit připojování aplikací a/nebo vypnout SQL Server Agent.


  1. Rozdíl mezi -> a ::v PHP MySQLi OOP

  2. lepší způsob, jak generovat tabulku měsíců/rok

  3. Alternativa k PDO::lastInsertId / mysql_insert_id

  4. MySQL se Sequelize:ER_BAD_DB_ERROR:Neznámá databáze