Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Часто возникают ситуации, когда администратор базы данных Analysis Services (dba) хочет изменить режим чтения и записи табличной или многомерной базы данных. Эти ситуации часто зависят от бизнес-потребностей, таких как совместное использование базы данных между пулом серверов Служб Analysis Services для улучшения взаимодействия с пользователем.
Существует много способов изменения режима работы базы данных. В этом документе описаны следующие распространенные сценарии:
Интерактивное использование СРЕДЫ SQL Server Management Studio
программным способом с помощью объектов AMO;
с помощью скриптов, используя XML для аналитики
Процедуры
Интерактивное изменение режима чтения-записи базы данных с помощью среды Management Studio
Найдите базу данных для переключения в левой или правой области Management Studio.
Щелкните правой кнопкой мыши базу данных и выберите пункт "Свойства". Найдите папку с базой данных и запишите ее расположение. Пустое место хранения для базы данных означает, что папка базы данных находится в папке данных сервера.
Внимание
Как только база данных отсоединится, Management Studio больше не сможет получить расположение базы данных.
Щелкните правой кнопкой мыши базу данных и выберите "Отсоединить...
Назначьте пароль отсоединяемой базе данных и нажмите кнопку ОК , чтобы выполнить команду отсоединения.
Найдите папку "Базы данных" в левой или правой области Management Studio.
Щелкните правой кнопкой мыши папку "Базы данных " и выберите "Подключить" ...
В текстовом поле папка введите начальное местоположение папки базы данных. Кроме того, можно использовать кнопку обзора (...), чтобы найти папку базы данных.
Выберите режим чтения/записи для базы данных.
Введите пароль, который использовался на шаге 3, и нажмите кнопку ОК , чтобы выполнить команду присоединения.
Программное изменение режима чтения/записи базы данных с помощью объектов AMO
- В приложении на C# проведите адаптацию следующего образца кода и выполните указанные задачи.
private void SwitchReadWrite(Server server, string dbName,
ReadWriteMode dbReadWriteMode)
{
if (server.Databases.ContainsName(dbName))
{
Database db;
string databaseLocation;
db = server.Databases[dbName];
databaseLocation = db.DbStorageLocation;
if (databaseLocation == null)
{
string dataDir = server.ServerProperties["DataDir"].Value;
String[] possibleFolders = Directory.GetDirectories(dataDir, string.Concat(dbName,"*"), SearchOption.TopDirectoryOnly);
if (possibleFolders.Length > 1)
{
List<String> sortedFolders = new List<string>(possibleFolders.Length);
sortedFolders.AddRange(possibleFolders);
sortedFolders.Sort();
databaseLocation = sortedFolders[sortedFolders.Count - 1];
}
else
{
databaseLocation = possibleFolders[0];
}
}
db.Detach();
server.Attach(databaseLocation, dbReadWriteMode);
}
}
В приложении на C# вызовите метод
SwitchReadWrite()
, указав необходимые параметры.Скомпилируйте и выполните код для перемещения базы данных.
Изменение режима чтения/записи базы данных с помощью скрипта XML для аналитики
Найдите базу данных для переключения в левой или правой области Management Studio.
Щелкните правой кнопкой мыши базу данных и выберите пункт "Свойства". Найдите папку с базой данных и запишите ее расположение. Пустое место хранения для базы данных означает, что папка базы данных находится в папке данных сервера.
Внимание
Как только база данных отсоединится, Management Studio больше не сможет получить расположение базы данных.
Откройте новую вкладку XMLA в Management Studio.
Скопируйте следующий шаблон скрипта XML для аналитики.
<Detach xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>%dbName%</DatabaseID>
<Password>%password%</Password>
</Object>
</Detach>
Замените шаблон
%dbName%
именем базы данных, а шаблон%password%
— соответствующим паролем. Символы «%» являются частью шаблона, и поэтому их необходимо удалить.Выполните команду XML для аналитики.
Скопируйте следующий шаблон скрипта XML для аналитики в новую вкладку XML для аналитики.
<Attach xmlns="https://schemas.microsoft.com/analysisservices/2003
/engine
">
<Folder>%dbFolder%</Folder>
<ReadWriteMode xmlns="https://schemas.microsoft.com/analysisservices/2008/engine/100">%ReadOnlyMode%</ReadWriteMode>
</Attach>
Замените шаблон
%dbFolder%
полным путем к папке базы данных в формате UNC, шаблон%ReadOnlyMode%
— соответствующим значением (ReadOnly
илиReadWrite
), а шаблон%password%
— паролем. Символы «%» являются частью шаблона, и поэтому их необходимо удалить.Выполните команду XML для аналитики.
См. также
Attach*
Microsoft.AnalysisServices.Database.Detach*
Подключение и отключение баз данных служб Analysis Services
Место хранения базы данных
Режимы ReadWriteModes базы данных
Элемент Attach
Элемент Detach
Элемент ReadWriteMode
Элемент DbStorageLocation