Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

zmień bazę danych na „online” i ustaw db na „wielu użytkowników”

^ To jest problem, który musisz rozwiązać.

Upewnij się, że nie jesteś w tej bazie danych. Zamknij wszystkie okna zapytań, które są z nim połączone, zamknij szczegóły Eksploratora obiektów, zamknij SSMS i otwórz go ponownie bez Eksploratora obiektów podłączonego do tego serwera itd. Uruchom to:

USE [master];
GO

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

Powinno to pozwolić na włączenie go do trybu online, a następnie uruchomisz wymienione polecenia.

Jednak:

  • Może to potrwać dłużej niż możesz, w zależności od tego, jaka czynność wycofywania ma nastąpić w sesjach, które wyrzucasz.
  • Zawsze jest możliwe, że gdy ustawisz go na jednego użytkownika, inny proces może być szybszy od Ciebie i zabierze to pojedyncze połączenie. Jeśli okaże się, że tak się dzieje, możesz dowiedzieć się, kto używa sp_whoisactive lub DMV, takie jak sys.dm_tran_locks - być może trzeba zawiesić łączenie aplikacji i/lub wyłączyć agenta SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać wynik zmiennoprzecinkowy, dzieląc dwie wartości całkowite za pomocą T-SQL?

  2. Korzystanie z programu SQL Server Profiler | Rozwiązywanie problemów z wydajnością serwera SQL -5

  3. Jak wygenerować skrypty dla wszystkich wyzwalaczy w bazie danych za pomocą Microsoft SQL Server Management Studio

  4. Dołącz wiele baz danych za pomocą T-SQL

  5. Zwróć parametr wyjściowy procedury składowanej wewnątrz innej procedury składowanej