#sql-server #sql-server-2000 #linked-server
#sql-server #sql-server-2000 #связанный сервер
Вопрос:
Справочная информация: я собираюсь в ближайшее время перенести базу данных с SQL 2000 на 2008. Сложность в том, что эта база данных содержит много ссылок на приобретенное программное обеспечение, которое, к сожалению, несовместимо с SQL 2008. Так что база данных должна оставаться на месте. Мое решение — использовать связанный сервер, чтобы эти запросы (многие в хранимых процедурах) все еще могли обращаться к базе данных 2000 после их перемещения на новый сервер. Чтобы обновить код на месте, чтобы я мог просто переместить базу данных позже, я хочу создать связанный сервер на существующем сервере SQL 2000, который указывает на себя.
Проблема: при попытке добавить это в Management Studio я получаю сообщение об ошибке, в котором говорится
Вы не можете создать локальный SQL Server в качестве связанного сервера.
Есть ли способ обойти это?
Редактировать: я ненавижу, когда я думаю о вещах сразу после публикации вопроса. Мне не нужно создавать связанный сервер, потому что я могу ссылаться на текущий сервер по его имени (возможно, поэтому я не могу ссылаться на self), и эта же ссылка будет работать на новом сервере, на котором определен связанный сервер. Пример select * from dwdata2.m2mdata01.dbo.inmast
будет работать на текущем сервере и на новом, который dwdata2
определен как связанный сервер.
Комментарии:
1. В SQL 2005 вы можете настроить псевдоним и установить его как связанный сервер, но не уверен насчет 2000. Почему бы вам не настроить отдельный экземпляр и не поместить туда свою базу данных в качестве временной меры.
2. Основываясь на вашем редактировании, этот вопрос теперь недействителен?
3. Полагаю, что нет, я решил, что оставлю его открытым на некоторое время, прежде чем сам отвечу на него.
Ответ №1:
Мне не нужно создавать связанный сервер, потому что я могу ссылаться на текущий сервер по его имени (возможно, поэтому я не могу ссылаться на self), и эта же ссылка будет работать на новом сервере, на котором определен связанный сервер. Пример select * from dwdata2.m2mdata01.dbo.inmast
будет работать на текущем сервере и на новом, который dwdata2
определен как связанный сервер.