Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как работи alter table switch на sql сървър?

Вмъкване на данни чрез израза

insert into T2 select * from T1

Зарежда данни чрез вмъкване на данни от T1 в T2. Когато дял се прехвърля (превключва), данните не се преместват физически; само метаданните за местоположението на данните се променят.

Преди да можете да превключвате дялове, трябва да бъдат изпълнени няколко общи изисквания:

Общи изисквания за превключване на дялове:

Когато се прехвърля дял, данните не се преместват физически; променят се само метаданните за местоположението на данните. Преди да можете да превключвате дялове, трябва да бъдат изпълнени няколко общи изисквания:

  1. И двете таблици трябва да съществуват преди операцията SWITCH. Таблицата, от която се премества дялът (изходната таблица) и таблицата, която получава дяла (целевата таблица), трябва да съществуват в базата данни, преди да извършите операцията по превключване.
  2. Получаващият дял трябва да съществува и трябва да е празен. Независимо дали добавяте таблица като дял към вече съществуваща разделена таблица или премествате дял от една разделена таблица в друга, дялът, който получава новия дял, трябва да съществува и трябва да е празен дял.
  3. Получаващата неразделена таблица трябва да съществува и трябва да е празна. Ако преназначавате дял, за да образувате една неразделена таблица, таблицата, която получава новия дял, трябва да съществува и трябва да е празна неразделена таблица.
  4. Дяловете трябва да са в една и съща колона. Ако превключвате дял от една разделена таблица към друга, и двете таблици трябва да бъдат разделени в една и съща колона.
  5. Изходната и целевата таблици трябва да споделят една и съща файлова група. Източникът и целевата таблица на оператора ALTER TABLE...SWITCH трябва да се намират в една и съща файлова група и техните колони с голяма стойност трябва да се съхраняват в същата файлова група. Всички съответни индекси, дялове на индекси или дялове на индексирани изгледи също трябва да се намират в същата файлова група. Файловата група обаче може да е различна от тази на съответните таблици или други съответстващи индекси.

Тази информация и повече се намират тук:

https://technet.microsoft.com/ en-us/library/ms191160(v=sql.105).aspx




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изграждане на динамична клауза WHERE в съхранена процедура

  2. SET срещу SELECT при присвояване на променливи?

  3. Какво е доверена връзка?

  4. Най-бързият/лесният начин за използване на Search/Replace през всички съхранени процедури

  5. Как да шифровате всички съществуващи съхранени процедури на база данни