Сайт · Форум · Инструменты · Блог Форум WindowsFAQ

Назад   Форум WindowsFAQ > Общий раздел > Операционные системы Microsoft Windows

Тема закрыта
 
Действия над темой
lalas
Пользователь
Автор темы
 
Регистрация: ноя 2000
Город: СПб, РФ
Сообщений: 357
Сила репутации: 19
Репутация: 10
Post Перенос БД master, tempdb, model в MSSQL 7 22-10-2001, 17:30 Инфо Контакт
Как, собственно, осуществить эту байду?
В "Поиск" просьба не отсылать - там есть темы о переносах обычных БД. Это не проблема: детач, атач. А кто-нибудь переносил системные БД (master, model & tempdb) из каталога, в который их засунули при установке MSSQL в какой-нибудь другой. Попытка detach заканчивается криками, что именно эти три базы отключать нельзя. Через startup parameters можно, в принципе, указать на другую master, но неизвестно, насколько это корректно, да и model с tempdb при этом используются прежние. ЧЕ ДЕЛАТЬ-ТО? Неужели переустанавливать MSSQL? Не хочется что-то...

P.S. Недобрым модераторам: а я спросил разрешение на дублирование темы
lalas is offline
Реклама
Зарегистрируйтесь, чтобы скрыть этот блок
j
Пользователь
 
Регистрация: апр 2001
Город: Москва
Сообщений: 914
Сила репутации: 19
Репутация: 10
Post 22-10-2001, 17:34 Инфо Контакт
уу...там целая морока
я читал об это в рассылке sql.ru
может найду попозже
j is offline
j
Пользователь
 
Регистрация: апр 2001
Город: Москва
Сообщений: 914
Сила репутации: 19
Репутация: 10
Post 22-10-2001, 17:45 Инфо Контакт
СОВЕТ

Перемещение баз данных SQL Server 7.0 в другое место
По материалам статьи Microsoft: "INF: Moving SQL Server 7.0
Databases to a New Location"
Информация в этой статье относится к Microsoft SQL Server версии
7.0

Эта статья описывает последовательность действий для изменения
места расположения баз данных и журналов регистрации транзакций, а
также системных баз данных для SQL Server 7.0.
Последовательность шагов изменения расположения некоторых
системных баз данных SQL Server отличается от пользовательских баз
данных. Эти специальные случаи отмечены отдельно.
Все примеры в этой статье предполагают, что SQL Server 7.0
установлен в каталог D:\Mssql7, а все базы данных и журналы
расположены в каталоге D:\Mssql7\Data. В предлагаемых примерах
базы данных и журналы перемещаются в каталог E:\Sqldata.
Перед началом перемещения, создайте актуальные резервные копии
всех баз данных, особенно master, в их текущем расположении.
Для успешной работы Вы должны иметь привилегии системного
администратора (sa).
Вы должны знать имена и текущие расположения всех баз данных и
журналов.

ОБРАТИТЕ ВНИМАНИЕ: Вы можете определить имя и текущее расположение
всех файлов, используемых базой данных с помощью хранимой
процедуры sp_helpfile:

use
go
sp_helpfile
go

Вы должны иметь единоличный доступ к перемещаемой базе данных.
Если Вы столкнётесь с проблемами в течение процесса переноса и не
сможете подсоединиться к базе данных, которую Вы переместили, или
не сможете после этого запустить SQL Server, проверьте файл
регистрации ошибок SQL Server и обратитесь к SQL Server 7.0 Books
Online для выяснения деталей относительно выявленных ошибок.

Перемещение пользовательских баз данных

Следующий пример перемещает базу данных, названную mydb, которая
имеет один файл mydb.mdf и один журнал Mydblog.ldf. Если база
данных, которую Вы перемещаете, имеет дополнительные файлы данных
или журналы, укажите их все через запятую в хранимой процедуре
sp_attach_db. При этом процедура Sp_detach_db не изменяется,
независимо от того, сколько указанная в ней база данных содержит
файлов, потому что этого не предусматривает её синтаксис.
Отсоедините базу данных следующим образом:

use master
go
sp_detach_db 'mydb'
go

Затем, скопируйте данные и журналы из текущего места расположения
(D:\Mssql7\Data) в новое расположение (E:\Sqldata).
Снова прикрепите базу данных, задав файлы в новом расположении
следующим образом:

use master
go
sp_attach_db
'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'
go

Проверите изменение расположения файлов, используя sp_helpfile:

use mydb
go
sp_helpfile
go

Значения столбца имени файла должны показать его новое
расположение.

Перемещение баз MSDB, Pubs и Northwind

Повторите ту же самую процедуру, как для перемещения
пользовательских баз данных. Для MSDB, удостоверитесь, что SQL
Server агент в это время не запущен. Иначе, хранимая процедура
sp_detach_db вызовет сбои со следующим сообщением:

Server: Msg 3702, Level 16, State 1, Line 0
Cannot drop the database 'msdb' because it is currently in use.
DBCC execution completed. If DBCC printed error messages, contact
your system administrator.

Перемещение базы данных master

Измените путь для базы данных master и её журналов в SQL Server
Enterprise Manager.

ОБРАТИТЕ ВНИМАНИЕ: Вы также можете произвольно изменять здесь
расположение файла регистрации ошибок.

Щелкните правой кнопкой мыши по SQL Server в Enterprise Manager, и
выберите пункт Properties в появившемся меню.
Кликните кнопку Startup Parameters, и Вы увидите следующее:

-dD:\MSSQL7\data\master.mdf
-eD:\MSSQL7\log\ErrorLog
-lD:\MSSQL7\data\mastlog.ldf

-d - полный путь к файлу базы данных master.
-e - полный путь к файлу регистрации ошибок.
-l - полный путь к файлу журнала базы данных master.

Измените эти значения следующим образом:

Удалите текущие пути к файлам master.mdf и Mastlog.ldf
Добавьте новые пути к этим файлам, определяющие их новое
расположение:

-dE:\SQLDATA\master.mdf
-lE:\SQLDATA\mastlog.ldf

Остановите SQL Server.
Скопируйте файлы master.mdf и Mastlog.ldf в новое
месторасположение (E:\Sqldata).
Перезапустите SQL Server.

Перемещение базы данных Model

Чтобы переместить базу данных Model, SQL Server должен быть
запущен с флагом трассировки 3608 так, чтобы это не вызвало
регенерации всех баз данных кроме master.

ОБРАТИТЕ ВНИМАНИЕ: У Вас не будете возможности в это время
обращаться к любым пользовательским базам данных. При
использовании этого флага трассировки Вы не должны исполнять
никаких операций, кроме указанных ниже шагов. Чтобы добавить флаг
трассировки 3608, как параметр запуска SQL Server, исполните
следующее:

В SQL Server Enterprise Manager щёлкните правой кнопкой мыши по
имени сервера и выберите Properties в появившемся меню.
На вкладке General кликните Startup Parameters.
Добавьте новый параметр, как -T3608.
После добавления флага трассировки 3608, выполните следующие шаги:
Остановите и перезапустите SQL Server.
Отсоедините базу данных Model следующим образом:

use master
go
sp_detach_db 'model'
go

Переместите файлы Model.mdf и Modellog.ldf из D:\Mssql7\Data в
E:\Sqldata.
Снова прикрепите базу данных Model следующим образом:

use master
go
sp_attach_db
'model','E:\Sqldata\model.mdf','E:\Sqldata\modellog.ldf'
go

Удалите флаг трассировки - T3608 из блока параметров запуска в
Enterprise Manager.
Остановите и перестартуйте SQL Server.
Вы можете проверить изменение расположения файла, использующих
sp_helpfile:

use model
go
sp_helpfile
go

Перемещение Tempdb

Вы можете перемещать файлы tempdb, используя инструкцию ALTER
DATABASE.
Определите логические имена файла для базы данных tempdb,
используя sp_helpfile следующим образом:

use tempdb
go
sp_helpfile
go

Логическое имя для каждого файла содержится в столбце Nаme. Этот
пример использует заданные по умолчанию имена файла tempdev и
templog.
Используйте инструкцию ALTER DATABASE, определяя логическое имя
файла следующим образом:

use master
go
Alter database tempdb modify file (name = tempdev, filename =
'E:\Sqldata\tempdb.mdf')
go

Alter database tempdb modify file (name = templog, filename =
'E:\Sqldata\templog.ldf')
go

Вы должны получить следующие сообщения, подтверждающие изменение:

File 'tempdev' modified in sysaltfiles. Delete old file after
restarting SQL Server.

File 'templog' modified in sysaltfiles. Delete old file after
restarting SQL Server.

Использование sp_helpfile для tempdb не будет подтверждать
внесённые изменения, пока Вы не перезапустите SQL Server.
Остановите и перезапустите SQL Server.

Для получения дополнительной информации, изучите указанные ниже
статьи Microsoft Knowledge Base:

Q274188 - PRB: Troubleshooting Orphaned Users Topic in BOL
Incomplete
Q246133 - INF: Transfer Logins and Passwords Between SQL Server
7.0 and SQL Server 2000
Q168001 - PRB: User Logon and/or Permission Errors After Restoring
Dump

j is offline
lalas
Пользователь
Автор темы
 
Регистрация: ноя 2000
Город: СПб, РФ
Сообщений: 357
Сила репутации: 19
Репутация: 10
Post 22-10-2001, 18:02 Инфо Контакт
Thanks!
Завтра попробую, о результатах доложу
А сегодня пора домой...
lalas is offline
lalas
Пользователь
Автор темы
 
Регистрация: ноя 2000
Город: СПб, РФ
Сообщений: 357
Сила репутации: 19
Репутация: 10
Post 23-10-2001, 08:25 Инфо Контакт
Окей, вошло!!!
Еще раз спасибо j!

P.S. Оказывается, базу master сдуру-то правильно пренес до этого.
...и опыт, сын ошибок трудных,
и гений, парадоксов друг. Хе-хе.

АС Пушкин.
lalas is offline
Тема закрыта


Назад   Форум WindowsFAQ > Общий раздел > Операционные системы Microsoft Windows
Сохранить ссылку на эту тему у себя в
Действия над темой

 
Быстрый переход

Похожие темы
Тема Автор темы Форум Ответов Последнее сообщение
перенос контролера домена на другой сервер andtik Администрирование и Локальные сети 8 21-04-2004 17:32
Master Browser, ошибки 8021,8032 Damon Администрирование и Локальные сети 9 21-01-2004 14:29
Перенос БД master, tempdb, model в MSSQL 7 lalas Программное обеспечение 2 22-10-2001 17:26


Время 02:41. Временной пояс GMT +3.