Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
Пытаюсь перенести лог пользовательской базы с диска на диск на SQL2000 (Microsoft SQL Server 2000 - 8.00.2066 (Intel X86) May 11 2012 18:41:14 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ) командой ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' ) - получаю ошибку Msg 5037, Level 16, State 1, Line 1
MODIFY FILE failed. Do not specify physical name.

Делал раньше такое на SQL2005 - все проходило нормально.
Что я делаю не так или в SQL2000 это не работает?

Пытался найти решение проблемы по тексту ошибки, все советуют сделать бэкап/ресторе или детач/аттач базы. В моем случае это не подходит так как база является подписчиком в репликации.
8 окт 13, 11:56    [14938536]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
Glory
Member

Откуда:
Сообщений: 104751
mism
Что я делаю не так или в SQL2000 это не работает?

FILENAME can be specified only for files in the tempdb database, and the new name does not take effect until Microsoft SQL Server is restarted.
8 окт 13, 12:01    [14938607]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
Гость333
Member

Откуда:
Сообщений: 3683
mism
или в SQL2000 это не работает?

Такой метод перемещения файлов пользовательских БД появился только в версии 2005.
В 2000, действительно, нужен был детач-аттач.
8 окт 13, 12:10    [14938683]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
Печально. Видимо придется удалять подписку.

То есть нет способа перенести файлы пользовательской БД, кроме бэкап/ресторе или детач/аттач базы.

Или можно поправить соответствующую запись в master.dbo.sysdatabases, застопить службу, перенести файл и стартовать SQL?
8 окт 13, 12:26    [14938783]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
Glory
Member

Откуда:
Сообщений: 104751
mism
Или можно поправить соответствующую запись в master.dbo.sysdatabases, застопить службу, перенести файл и стартовать SQL?

А чем это будет отличаться от детач/аттач ?
8 окт 13, 12:28    [14938802]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
mism
Печально. Видимо придется удалять подписку.

То есть нет способа перенести файлы пользовательской БД, кроме бэкап/ресторе или детач/аттач базы.

Или можно поправить соответствующую запись в master.dbo.sysdatabases, застопить службу, перенести файл и стартовать SQL?


Ошибся, в master.dbo.sysaltfiles
8 окт 13, 12:29    [14938813]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
Glory
mism
Или можно поправить соответствующую запись в master.dbo.sysdatabases, застопить службу, перенести файл и стартовать SQL?

А чем это будет отличаться от детач/аттач ?

Насколько я понимаю это аналог ALTER DATABASE MODIFY FILE, поправьте если я не прав.
На работающем сервере и БД, внося изменение в master.dbo.sysaltfiles, я прописываю новое местоположение лога БД, затем стоплю службу, переношу лог на новое место и стартую службу. SQL считывает из master.dbo.sysaltfiles новое местоположение лога.
Или я все таки не прав?
8 окт 13, 12:38    [14938877]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
Glory
Member

Откуда:
Сообщений: 104751
mism
На работающем сервере и БД, внося изменение в master.dbo.sysaltfiles, я прописываю новое местоположение лога БД, затем стоплю службу, переношу лог на новое место и стартую службу. SQL считывает из master.dbo.sysaltfiles новое местоположение лога.
Или я все таки не прав?

Зачем стопить весь сервер то ? Если можно отсоединить/присоединить одну базу ?
8 окт 13, 12:42    [14938911]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
Glory
mism
На работающем сервере и БД, внося изменение в master.dbo.sysaltfiles, я прописываю новое местоположение лога БД, затем стоплю службу, переношу лог на новое место и стартую службу. SQL считывает из master.dbo.sysaltfiles новое местоположение лога.
Или я все таки не прав?

Зачем стопить весь сервер то ? Если можно отсоединить/присоединить одну базу ?

Эта база является подписчиком в репликации, и для детача придется удалять ее из подпискчиков (мне так кажется, хотя может быть я опять не прав), а мне этого делать не хочется.
8 окт 13, 12:49    [14938966]     Ответить | Цитировать Сообщить модератору
 Re: Не работает ALTER DATABASE MODIFY FILE на SQL2000  [new]
Glory
Member

Откуда:
Сообщений: 104751
If you attach a database to a server other than the server from which the database was detached, and the detached database was enabled for replication, you should run sp_removedbreplication to remove replication from the database. Alternatively, you can remove replication from the database prior to detaching it.
8 окт 13, 13:23    [14939267]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить