Предположим, что у вас есть работающий экземпляр SQL Server Express с именем (local) \ SQLEXPRESS. Его папка базы данных - c: \ program files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data.
Как использовать VBScript для извлечения этой папки?
Может быть, с помощью SMO? И если да, то как? <- Забудь об этом. SMO использует .NET. Возможно только в PowerShell. </p>
Обновление:
Причина этого заключается в том, что я разрабатываю установку MSI, которая использует настраиваемое действие (вызов сборки на основе .NET) для присоединения файлов mdf к существующему экземпляру сервера SQL. для этого файлы .mdf переносятся с установочного носителя на жесткий диск. Таким образом, установка должна знать, где разместить файлы.
Поскольку я хотел бы поддерживать стандарты, мне нужно поместить файлы в общую папку данных.
Обновление:
При выборе экземпляра сервера SQL в InstallShield свойство IS _ SQLSERVER _ SERVER устанавливается с именем экземпляра.
Я обнаружил, что могу запросить реестр в HKLM \ Software \ Microsoft \ Microsoft SQL Server \ Instance Names \ SQL, чтобы получить имя SQL для имени экземпляра (например, SQLEXPRESS -> MSSQL.1).
С этой информацией я могу запросить HKLM \ Software \ Microsoft \ Microsoft SQL Server \ MSSQL.1 \ Setup, чтобы получить ключ SQLDataRoot. Когда я добавляю \ Data к найденному здесь значению, у меня есть папка, которую я искал.
Однако есть ли лучший способ?