sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik een tabel naar een andere bestandsgroep in MS SQL Server verplaatsen?

Als je de tabel gewoon naar een nieuwe bestandsgroep wilt verplaatsen, moet je de geclusterde index op de tabel opnieuw maken (per slot van rekening:de geclusterde index is de tabelgegevens) op de nieuwe bestandsgroep die u wilt.

U kunt dit doen met bijvoorbeeld:

CREATE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

of als uw geclusterde index uniek is :

CREATE UNIQUE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

Dit creëert een nieuwe geclusterde index en laat de bestaande vallen, en het creëert de nieuwe geclusterde index in de bestandsgroep die u hebt opgegeven - et voila, uw tabelgegevens zijn verplaatst naar de nieuwe bestandsgroep.

Zie de MSDN-documenten op CREATE INDEX voor details over alle beschikbare opties die u mogelijk wilt specificeren.

Dit gaat natuurlijk nog niet over partitioneren, maar dat is een heel ander verhaal op zich...



  1. MySQL verandert UTF-8 in ASCII-8BIT

  2. Oracle-reeks gebruiken om log-ID in 2 tabellen van jdbc in te voegen?

  3. Verbinding maken met Oracle DB via C

  4. Onjuist sleutelbestand voor tabel '/tmp/#sql_18b4_0.MYI' probeer het te repareren