Запуск сценариев sql для прикрепленной базы данных? - PullRequest
2 голосов
/ 17 января 2010

У меня есть MDF, прикрепленный к экземпляру Sql Server 2008 Express, и мне нужно запустить несколько сценариев sql для него, чтобы генерировать таблицы, индексы и т. Д.

Но я не могу понять, как заставить это работать. Если я загружаю скрипты в Visual Studio, это позволяет мне только подключиться к серверу и запустить его для базы данных. Я не могу выбрать другого поставщика (файл базы данных Microsoft Sql Server), поэтому я не могу выбрать свой MDF.

Это оставляет мне единственный вариант запуска скрипта как отдельных запросов, но это не сработает, так как кажется, что он не поддерживает операторы TSQL CREATE.

Как мне запустить скрипт sql для присоединенной базы данных?

Ответы [ 4 ]

3 голосов
/ 25 октября 2010

Я предполагаю, что вы имеете в виду, что у вас есть локальный файл MDF в Visual Studio (например, папка App_Data)?

Вы можете использовать SQL Management Studio, подключившись к именованному каналу.

Сначала откройте новый запрос в Visual Studio на подключенной БД, используя инструмент для поиска раздражающих запросов. В окне свойств в разделе «Имя_сервера» сохраните мини-guid в формате «your-PC-name \ mini-guid». Подключитесь с помощью Management Studio следующим образом:

\\.\pipe\mini-guid-here\tsql\query

например.,

\\.\pipe\7789925E-DCAA-4A\tsql\query

Вы должны увидеть имя файла в списке в базах данных.

3 голосов
/ 16 января 2011

Я столкнулся с этой же проблемой, и вот что сработало для меня.

  1. Щелкните правой кнопкой мыши на сценарии и выберите Соединение> Подключить

  2. Имя сервера и аутентификация уже должны быть установлены для локального экземпляра SQLEXPRESS.

  3. Нажмите кнопку Опции

  4. Нажмите Дополнительные параметры подключения вкладка

  5. Вставьте путь к файлу базы данных, используя в качестве руководства следующее:

    AttachDBFilename = C: \ Путь \ К \ Database \ LocalData.mdf, база = LocalData;

  6. Нажмите кнопку Connect

Если у вас все еще есть проблемы с подключением, это может быть связано с тем, что уже есть открытое соединение. Проверьте обозреватель сервера и, если подключение открыто, щелкните правой кнопкой мыши и выберите «Закрыть подключение».

Этот процесс также создаст постоянное соединение, пока сценарий SQL остается подключенным. Вы захотите закрыть скрипт или выбрать «Правый клик»> «Соединение»> «Отключить».

Более подробную информацию можно найти по этому вопросу: EF4 Создать базу данных

0 голосов
/ 09 декабря 2012

Хм, я столкнулся с той же проблемой, когда пытался импортировать содержимое ASPNETDB в другой MDF, вот как я это сделал:

  1. Щелкните правой кнопкой мыши ASPNETDB.mdf в обозревателе серверов и опубликуйте файл в формате .sql.

  2. открыть файл .sql, используя файл - открыть. (не подключен) появится в названии.

  3. Щелкните правой кнопкой мыши на присоединенной целевой базе данных и покажите свойства (TargetDatabase.MDF)

  4. Получить строку подключения из окна свойств. скопировать все в строку подключения после «Источник данных =. \ SQLEXPRESS;»

  5. Нажмите кнопку «Выполнить Sql» (Ctrl + Shift + E)

  6. в типе имени сервера. \ SQLEXPRESS

  7. На вкладке Дополнительные параметры подключения вставьте данные, скопированные на шаге 4

  8. Нажмите «Подключиться» и выберите соответствующий целевой файл MDF по месту на диске в списке файлов.

  9. Нажмите кнопку подключения.

  10. обновить целевую БД

0 голосов
/ 17 января 2010

Как насчет использования утилиты SqlCmd ?

Утилита sqlcmd позволяет ввести Операторы Transact-SQL, системные процедуры и файлы сценариев на командной строки, в редакторе запросов в Режим SQLCMD, в файле сценария Windows или в операционной системе (Cmd.exe) шаг задания задания агента SQL Server. Эта утилита использует OLE DB для выполнения Пакеты Transact-SQL.

...