sql >> Database >  >> RDS >> Sqlserver

verander naar database naar 'online' en stel db in op 'multi-user'

^ Dit is het probleem dat je moet oplossen.

Zorg ervoor dat u zich niet IN die database bevindt. Sluit alle queryvensters die ermee verbonden zijn, sluit Object Explorer Details af, sluit SSMS en open het opnieuw zonder dat Object Explorer verbonden is met die server, enz. Voer dit uit:

USE [master];
GO

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

Dat zou je in staat moeten stellen om het online te brengen, dan zou je de commando's uitvoeren die je opsomde.

Maar:

  • Dit kan langer duren dan je zou kunnen, afhankelijk van welke terugdraaiactiviteit er moet gebeuren met de sessies die je eruit gooit.
  • Het is altijd mogelijk dat wanneer je het instelt op één gebruiker, een ander proces sneller kan zijn dan jij en die ene verbinding kan nemen. Als je merkt dat dit gebeurt, kun je erachter komen wie het is met behulp van sp_whoisactive of DMV's zoals sys.dm_tran_locks - het kan zijn dat u het verbinden van applicaties moet onderbreken en/of SQL Server Agent moet afsluiten.


  1. Waarden selecteren die zijn gegroepeerd op een specifieke identifer

  2. Microsoft Access versus SQL Server

  3. Login/Registratie Systeem met php en mysql

  4. json_encode met mysql-inhoud en umlauts in utf-8