Delen via


Een database loskoppelen

van toepassing op:SQL Server-

In dit artikel wordt beschreven hoe u een database loskoppelt in SQL Server met SQL Server Management Studio of Transact-SQL. De losgekoppelde bestanden worden niet verwijderd en blijven in het bestandssysteem. De bestanden kunnen opnieuw worden gekoppeld met behulp van CREATE DATABASE ... FOR ATTACH of FOR ATTACH_REBUILD_LOG optie. De bestanden kunnen ook worden verplaatst naar een andere server en worden gekoppeld aan een exemplaar met dezelfde of nieuwere versie.

Beperkingen

Raadpleeg Database loskoppelen en koppelen (SQL Server)voor een lijst met beperkingen en restricties.

Machtigingen

Vereist lidmaatschap van de db_owner standaard databaserol.

SQL Server Management Studio gebruiken

Voordat u een database verplaatst

Als u een database verplaatst voordat u deze loskoppelt van het bestaande SQL Server-exemplaar, gebruikt u de Database-eigenschappen pagina om de bestanden te controleren die zijn gekoppeld aan de database en de huidige locaties.

  1. Maak in SQL Server Management Studio Object Explorer verbinding met het exemplaar van de SQL Server Database Engine en vouw vervolgens het exemplaar uit.

  2. Vouw Databasesuit en selecteer de naam van de gebruikersdatabase die u wilt loskoppelen.

  3. Klik met de rechtermuisknop op de databasenaam en selecteer Eigenschappen. Selecteer de pagina Bestanden en controleer de vermeldingen in de Databasebestanden: tabel.

Zorg ervoor dat u rekening houdt met alle bestanden die zijn gekoppeld aan de database voordat u loskoppelt, verplaatst en bijvoegt. Ga vervolgens door met de stappen voor loskoppelen in de volgende sectie. Zie Een database koppelenvoor meer informatie over het koppelen van de database op de nieuwe locatie.

Een database loskoppelen

  1. Maak in SQL Server Management Studio Object Explorer verbinding met het exemplaar van de SQL Server Database Engine en vouw vervolgens het exemplaar uit.

  2. Vouw Databasesuit en selecteer de naam van de gebruikersdatabase die u wilt loskoppelen.

  3. Klik met de rechtermuisknop op de databasenaam, wijs Takenaan en selecteer Loskoppelen. Het dialoogvenster Database loskoppelen wordt weergegeven.

    • Databases omlos te koppelen: geeft een lijst weer van de databases die moeten worden losgekoppeld.

    • databasenaam: geeft de naam weer van de database die moet worden losgekoppeld.

    • verbindingen verwijderen: verbindingen met de opgegeven database verbreken.

      Notitie

      U kunt een database niet loskoppelen met actieve verbindingen.

    • Statistieken bijwerken: standaard behoudt de loskoppelbewerking verouderde optimalisatiestatistieken bij het loskoppelen van de database; Als u de bestaande optimalisatiestatistieken wilt bijwerken, schakelt u dit selectievakje in.

    • Bewaar Full-Text Catalogi: standaard worden bij de loskoppel bewerking alle volledig-tekstcatalogi bewaard die aan de database zijn gekoppeld. Als u ze wilt verwijderen, schakelt u het selectievakje Full-Text Catalogi behouden uit. Deze optie wordt alleen weergegeven wanneer u een upgrade uitvoert van een database vanuit SQL Server 2005 (9.x).

    • Status: geeft een van de volgende statussen weer: Gereed of Niet gereed.

    • Message: de kolom Message kan als volgt informatie over de database weergeven:

      • Wanneer een database betrokken is bij replicatie, is de StatusNiet gereed en wordt in de kolom Bericht weergegeven Database gerepliceerd.

      • Wanneer een database een of meer actieve verbindingen heeft, is de statusNiet gereed en wordt in de kolom Bericht<aantal_actieve_verbindingen>Actieve verbinding(en)weergegeven. Bijvoorbeeld: 1 actieve verbinding(en). Voordat u de database loskoppelt, moet u actieve verbindingen loskoppelen door Verbindingen verwijderente selecteren.

      Als u meer informatie wilt over een bericht, selecteert u de hyperlinktekst om Activiteitsmonitor te openen.

  4. Wanneer u klaar bent om de database los te koppelen, selecteert u OK.

Notitie

De zojuist losgekoppelde database blijft zichtbaar in het Databases knooppunt van Objectverkenner totdat de weergave is vernieuwd. U kunt de weergave op elk gewenst moment vernieuwen: Selecteer in het deelvenster Objectverkenner en selecteer in de menubalk Weergave en Vernieuwen.

Gebruik Transact-SQL

Voordat u een database verplaatst

Als u een database verplaatst voordat u deze loskoppelt van het bestaande SQL Server-exemplaar, gebruikt u de sys.database_files systeemcatalogusweergave om de bestanden te controleren die zijn gekoppeld aan de database en de huidige locaties. Zie sys.database_files (Transact-SQL)voor meer informatie.

  1. Selecteer in SQL Server Management Studio New Query om de Query-editor te openen.

  2. Kopieer het volgende Transact-SQL script naar de Query-editor en selecteer vervolgens uitvoeren. Met dit script wordt de locatie van de fysieke databasebestanden weergegeven. Zorg ervoor dat u rekening houdt met alle bestanden bij het verplaatsen van de database via loskoppelen/bijvoegen.

    USE [database_name]
    GO
    
    SELECT type_desc, name, physical_name
    FROM sys.database_files;
    

Zorg ervoor dat u rekening houdt met alle bestanden die zijn gekoppeld aan de database voordat u loskoppelt, verplaatst en bijvoegt. Ga vervolgens verder met de loskoppelstappen in het volgende gedeelte. Zie Een database koppelenvoor meer informatie over het koppelen van de database op de nieuwe locatie.

Een database loskoppelen

  1. Maak verbinding met de database-engine.

  2. Selecteer Nieuwe queryin de standaardbalk.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt de AdventureWorks2022-database losgekoppeld met de optie skipchecks ingesteld op true. Zie sp_detach_dbvoor meer informatie.

    EXEC sp_detach_db 'AdventureWorks2022', 'true';