Во-первых, я не администратор баз данных, и у меня нет никакого (админского) опыта работы с SQL Server, поэтому, пожалуйста, используйте слова с несколькими слогами при ответе ...
Я использую SQL Server 2008 R2 и пытаюсь написать сценарий проверки концепции, который настраивает неразделенную двунаправленную репликацию транзакций. Мне удалось настроить скрипт с сайта MS для работы, теперь я пытаюсь настроить его под наши нужды. Это включает вытягивание нескольких значений в переменные.
Я установил SSMS в «Режим SQLCMD», и все мои переменные в порядке, кроме одной.
:setvar ReplicationDirectory 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2\MSSQL\repldata';
Это дает мне ошибку:
Произошла фатальная ошибка скриптинга.
При синтаксическом анализе обнаружен неправильный синтаксис: setvar
Я сузил свою проблему до наличия пробелов в значении переменной. Согласно тому, что я читал, это должно работать без проблем. Я пытался заменить одинарные кавычки на двойные (как в обычном, так и в угловом виде), но все они дают мне ту же ошибку.
Я не могу найти в Интернете ничего, что подсказывало бы мне, как мне избежать пробела. Все статьи, которые я видел, говорят, что если строка в кавычках, SSMS просто интерпретирует все, что находится между ними, как одну строку - независимо от пробела.
У кого-нибудь есть идеи?
Полагаю, я мог бы изменить значение переменной на:
:setvar ReplicationDirectory 'C:\Progra~1\Micros~1\MSSQL10_50.SQL2\MSSQL\repldata';
Но я бы лучше решил "почему я не могу использовать пробелы?" проблема вместо.
Большое спасибо.
Tom