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

Откуда: Don`t worry, be happy
Сообщений: 173
База данных в MS SQL 2000 разбита на два физических файла. Допустим
c:\data1.mdf
c:\data2.ndf
Как их объединить в один файл?
c:\data.mdf
1 ноя 04, 14:57    [1075238]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Эти файлы в разных filegroup?
1 ноя 04, 15:01    [1075251]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Glory
Member

Откуда:
Сообщений: 104760
DBCC SHRINKFILE (<data2.ndf logical_file_name >, , EMPTYFILE)
GO
ALTER DATABASE mydb REMOVE FILE <data2.ndf logical_file_name >

Разумеется в c:\data1.mdf должно хватить места для размещения всех объектов из c:\data2.ndf
1 ноя 04, 15:05    [1075274]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
Спасибо, попробую
1 ноя 04, 15:09    [1075300]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Glory
Member

Откуда:
Сообщений: 104760
Сначала ответьте на вопрос pkarklin-а
1 ноя 04, 15:10    [1075305]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
В одной
1 ноя 04, 15:10    [1075308]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ну, тогда как Glory сказал.
1 ноя 04, 15:14    [1075319]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
pkarklin
Ну, тогда как Glory сказал.


DBCC SHRINKFILE (glor, EMPTYFILE)
GO

НЕ ОСВОБОЖДАЕТ ФАЙЛ А СЛЕДОВАТЕЛЬНО ЕГО УДАЛИТЬ НЕЛЬЗЯ. чТО ДЕЛАТЬ???
2 ноя 04, 12:23    [1077419]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Bormoglot
pkarklin
Ну, тогда как Glory сказал.


DBCC SHRINKFILE (glor, EMPTYFILE)
GO

НЕ ОСВОБОЖДАЕТ ФАЙЛ А СЛЕДОВАТЕЛЬНО ЕГО УДАЛИТЬ НЕЛЬЗЯ. чТО ДЕЛАТЬ???

DBCC SHRINKFILE (glor, ,EMPTYFILE)?
2 ноя 04, 12:26    [1077432]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
Да файл должен уменшиться до 1 по размеру, а его данные должны переместится в другой файл данных, а такого не происходит...
Почему???
2 ноя 04, 12:28    [1077448]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Glory
Member

Откуда:
Сообщений: 104760
Да файл должен уменшиться до 1 по размеру,
Нет не должен. Это команда переносит объекты а не уменьшает размер файла

Почему???
Команда отрабатывает без ошибок ?
2 ноя 04, 12:33    [1077471]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
Абсолютно без ошибок, но размер не уменьшается и файл не удаляется
2 ноя 04, 12:34    [1077478]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
DBCC SHRINKFILE (glor, emptyfile)
GO
ALTER DATABASE mydb REMOVE FILE glor


-----------------------------------------------------------------------------
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Server: Msg 5042, Level 16, State 1, Line 1
The file 'glor' cannot be removed because it is not empty.
2 ноя 04, 12:36    [1077492]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Bormoglot
DBCC SHRINKFILE (glor, emptyfile)
GO
ALTER DATABASE mydb REMOVE FILE glor


-----------------------------------------------------------------------------
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Server: Msg 5042, Level 16, State 1, Line 1
The file 'glor' cannot be removed because it is not empty.

Дубль 2:
DBCC SHRINKFILE (glor,, emptyfile)?
2 ноя 04, 12:41    [1077515]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
Гавриленко Сергей Алексеевич

Дубль 2:
DBCC SHRINKFILE (glor,, emptyfile)?


Вот результат:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ','.
2 ноя 04, 12:44    [1077524]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Bormoglot
Гавриленко Сергей Алексеевич

Дубль 2:
DBCC SHRINKFILE (glor,, emptyfile)?


Вот результат:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ','.

угу, просто версия
2 ноя 04, 12:46    [1077537]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Glory
Member

Откуда:
Сообщений: 104760
use master
go
if db_id('test') is not null drop database test
go
create database test 
ON
PRIMARY ( NAME = testd1,
      FILENAME = 'c:\testd1.mdf',
      SIZE = 100MB,
      MAXSIZE = 200,
      FILEGROWTH = 20),
( NAME = testd2,
   FILENAME = 'c:\testd2.ndf',
   SIZE = 100MB,
   MAXSIZE = 200,
   FILEGROWTH = 20)
go
use test
go
create table t1(f1 int, f2 sysname)
create table t2(f1 int, f2 sysname)
go
insert t1 select id, name from master..sysobjects
insert t2 select id, name from master..sysobjects
go

/*generate error 5042 - The file 'testd2' cannot be removed because it is not empty.*/
alter database test remove file testd2
go
dbcc shrinkfile(testd2,EMPTYFILE)
go
/*now it works properly*/
alter database test remove file testd2
go
use master
go
if db_id('test') is not null drop database test
go
2 ноя 04, 12:47    [1077547]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как объеденить файлы базы???  [new]
Bormoglot
Member

Откуда: Don`t worry, be happy
Сообщений: 173
ALTER DATABASE gloriatest REMOVE FILE glor
go
DBCC SHRINKFILE (glor, emptyfile)
GO
ALTER DATABASE gloriatest REMOVE FILE glor
go

---------------------------------------------------

Server: Msg 5042, Level 16, State 1, Line 1
The file 'glor' cannot be removed because it is not empty.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Server: Msg 5042, Level 16, State 1, Line 1
The file 'glor' cannot be removed because it is not empty.


Вот и все...
2 ноя 04, 13:44    [1077816]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить