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

Примерна заявка за свързан сървър на SQL Server

Форматът вероятно трябва да бъде:

<server>.<database>.<schema>.<table>

Например:DatabaseServer1.db1.dbo.table1

Актуализиране :Знам, че това е стар въпрос и отговорът, който имам, е правилен; обаче мисля, че всеки друг, който се натъкне на това, трябва да знае няколко неща.

А именно, при запитване към свързан сървър в ситуация на присъединяване ЦЯЛОТО таблица от свързания сървър вероятно да бъдат изтеглени на сървъра, от който се изпълнява заявката, за да се извърши операцията за присъединяване. В случая на ОП и двете table1 от DB1 и table1 от DB2 ще бъдат прехвърлени в тяхната цялост на сървъра, изпълняващ заявката, вероятно с име DB3 .

Ако имате големи маси, товаможе води до операция, която отнема много време за изпълнение. В края на краищата той вече е ограничен от скоростите на мрежовия трафик, които са с порядък по-бавни от скоростите на пренос на паметта или дори на диска.

Ако е възможно, извършете единична заявка към отдалечения сървър, без да се присъединявате към локална таблица, за да изтеглите необходимите ви данни във временна таблица. След това изключете това.

Ако това не е възможно, тогава трябва да разгледате различните неща, които биха накарали SQL сървъра да зареди цялата таблица локално. Например с помощта на GETDATE() или дори определени съединения. Други убийци на представянето включват недаване на подходящи права.

Вижте http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/ за още информация.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Измерване на ефективността на заявката:Разходи за заявка на план за изпълнение спрямо отнето време

  2. ListAGG в SQLSERVER

  3. Връщане на редове, които съдържат небуквени и цифрови знаци в SQL Server

  4. Как да деактивирате всички тригери в базата данни на SQL Server

  5. CURRENT_TIMESTAMP Примери в SQL Server (T-SQL)