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

Можете ли да имате чужд ключ към изглед на таблица на свързан сървър в SQLServer 2k5?

Външните ключове не могат да бъдат свързани с нелокални обекти - те трябва да препращат към локални таблици. Получавате грешката „максимален брой префикси“, защото препращате към таблицата с име от 4 части (LinkedServer.Database.Schema.Object), а локален обект ще има само име от 3 части.

Други решения:

  1. Репликирайте данните от източника (местоположението на изгледа) на същия сървър като таблицата, към която се опитвате да добавите ключа. Можете да правите това всеки час, всеки ден или каквото и да е, в зависимост от това колко често се променят изходните данни.
  2. Добавете тригер към изходната таблица, за да прокарате всички промени във вашето локално копие. Това по същество би било същото като #1, но с незабавно попълване на промени
  3. Добавете тригер INSTEAD OF" към вашата таблица, който ръчно проверява ограничението за външен ключ, като избира от свързания сървър и сравнява стойността, която се опитвате да ВМЪКНЕТЕ/АКТУАЛИЗИРАТЕ. Ако не съвпада, можете да отхвърлите промяната .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Динамично извличане на имена на параметри и текущи стойности в T-SQL съхранена процедура

  2. Свържете се към SQL Server чрез IP адрес

  3. Как работи функцията FORMAT() в SQL Server (T-SQL)

  4. Как да използвам таблична променлива в динамичен sql израз?

  5. Трикове за непрекъснато подобряване на мониторинга на базата данни