Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Здравствуйте!

Имеется два сервера MSSQL 2012 SP1, основной и тестовый.
Хочу создать несколько файлов данных для TempDB (по числу ядер процессора)
Создаю либо руками через Management Studio, либо скриптом командой вида

ALTER DATABASE tempdb ADD FILE (NAME = tempdev4_1, FILENAME = 'e:\TempDB\tempdb4_1.mdf', SIZE = 256 MB, MAXSIZE = 512 MB,FILEGROWTH = 50MB);

Файлы успешно создаются, но на основном сервере после рестарта службы MS SQL Server в TempDB остается только один файл данных, а на тестовом все в порядке.

При повторном запуске вышеприведенной команды выдается сообщение:
"Логическое имя файла "tempdev4_1" уже используется. Выберите другое имя."

Естественно, если изменить имя например на tempdev4_2, файлы успешно создаются, до следующей перезагрузки. И так по кругу.
Не могу понять, где грабли-то?
И как можно удалить упоминание о ранее использованных логических именах tempdev4_1?
Спасибо.
29 янв 15, 11:45    [17188154]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
asfp
Здравствуйте!

Имеется два сервера MSSQL 2012 SP1, основной и тестовый.
Хочу создать несколько файлов данных для TempDB (по числу ядер процессора)
Создаю либо руками через Management Studio, либо скриптом командой вида

ALTER DATABASE tempdb ADD FILE (NAME = tempdev4_1, FILENAME = 'e:\TempDB\tempdb4_1.mdf', SIZE = 256 MB, MAXSIZE = 512 MB,FILEGROWTH = 50MB);

Файлы успешно создаются, но на основном сервере после рестарта службы MS SQL Server в TempDB остается только один файл данных, а на тестовом все в порядке.

При повторном запуске вышеприведенной команды выдается сообщение:
"Логическое имя файла "tempdev4_1" уже используется. Выберите другое имя."

Естественно, если изменить имя например на tempdev4_2, файлы успешно создаются, до следующей перезагрузки. И так по кругу.
Не могу понять, где грабли-то?
И как можно удалить упоминание о ранее использованных логических именах tempdev4_1?
Спасибо.


Посмотрите логические имена, у своих баз tempdb.
29 янв 15, 12:13    [17188381]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Посмотрите логические имена, у своих баз tempdb.


А подробнее можно? Что и как именно посмотреть?
29 янв 15, 12:15    [17188398]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
asfp
Посмотрите логические имена, у своих баз tempdb.


А подробнее можно? Что и как именно посмотреть?

заходите в SSMS, в нем открываете системные БД, внутри есть tempdb - в ее свойствах смотрите что за логические имена указаны.
29 янв 15, 12:29    [17188530]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Александр52
заходите в SSMS, в нем открываете системные БД, внутри есть tempdb - в ее свойствах смотрите что за логические имена указаны.


Прошу прощения, как это поможет решить описанные мной проблемы?
29 янв 15, 12:36    [17188566]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
Прошу прощения, как это поможет решить описанные мной проблемы?

Это позволит вам узнать, если в действительности эти логические имена. И даже попробовать удалить их
Разве вы не этим интересовались ?
29 янв 15, 12:38    [17188586]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Glory
asfp
Прошу прощения, как это поможет решить описанные мной проблемы?

Это позволит вам узнать, если в действительности эти логические имена. И даже попробовать удалить их
Разве вы не этим интересовались ?


Гм. Возможно я неточно описал проблему. Пробуем еще раз.

1. После каждого рестарта сервера база tempdb состоит из 1 файла данных ( и 1 файла лога, но его опустим), пусть будет X.
2. Создаем еще файлы, c именами X_1,X_2 - итого tempdb состоит из 3 файлов
3. Перезагружаемся, получаем п.1 - база tempdb состоит из 1 файла данных X.
4. Файлов с именами X_1,X_2 в свойствах tempdb уже нет, но и создать их уже не можем:
"Логическое имя файла "X_1" уже используется. Выберите другое имя."
Т.е. где-то (может в master?) информация о файлах с логическими именами X_1,X_2 остается.
Соответствующие физические файлы на диске можно удалять - они более не блокируются процессом SQL Server и не используются для TempDB.

Вопросы:
Как можно решить эту проблему в принципе, т.е. создать для tempDB несколько файлов раз и навсегда. Повторюсь, на тестовом сервере проблем-то нет...
29 янв 15, 13:02    [17188759]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
4. Файлов с именами X_1,X_2 в свойствах tempdb уже нет, но и создать их уже не можем:
"Логическое имя файла "X_1" уже используется. Выберите другое имя."

Приведите лучше результат
sp_helpdb 'tempdb'
29 янв 15, 13:05    [17188784]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Glory
sp_helpdb 'tempdb'


Приложил. Сегодня был рестарт сервера.

К сообщению приложен файл (heldb.txt - 2Kb) cкачать
29 янв 15, 13:16    [17188857]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
А в sys.sysaltfiles что ?
29 янв 15, 13:20    [17188892]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
msLex
Member

Откуда:
Сообщений: 9291
asfp
Здравствуйте!
Имеется два сервера MSSQL 2012 SP1, основной и тестовый.


select @@version с обоих серверов приведите.
29 янв 15, 13:26    [17188953]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
master..sysaltfiles


Опа... :) А здесь и есть все мои уже использованные логические имена....
В аттачменте.



select @@version


Основной:

Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
May 14 2014 18:34:29
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Тестовый:

Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
May 14 2014 18:34:29
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

К сообщению приложен файл (sysaltfiles.xls - 28Kb) cкачать
29 янв 15, 13:51    [17189184]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
Приложенный файл (sysaltfiles.xls - 28Kb)

Ну так вон они все ваши логические файлы
А temp_dd1 как бы намекает, что вы еще что-то делаете/делали с tempdb
На втором сервере тоже есть temp_dd1 ?

Сообщение было отредактировано: 29 янв 15, 13:54
29 янв 15, 13:54    [17189204]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Glory
asfp
Приложенный файл (sysaltfiles.xls - 28Kb)

Ну так вон они все ваши логические файлы
А temp_dd1 как бы намекает, что вы еще что-то делаете/делали с tempdb
На втором сервере тоже есть temp_dd1 ?


temp_dd1 - это логическое имя ткущего (единственного!) файла данных в БД TempDB на основном сервере.
Замечательно, мы нашли логические имена, теперь видимо я могу просто удалить эти записи?
Но почему созданные файлы не сохраняются после перезагрузки в свойствах TempDB? Почему там остается только temp_dd1?
Смотрите, вот данные с тестового сервера.

К сообщению приложен файл (sysaltfiles_test.xls.xlsx - 9Kb) cкачать
29 янв 15, 14:07    [17189294]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
temp_dd1 - это логическое имя ткущего (единственного!) файла данных в БД TempDB на основном сервере.

Это НЕстандартное имя
Стандартное имя - это tempdev
29 янв 15, 14:11    [17189324]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Glory
Стандартное имя - это tempdev


Ну да, это я переименовал в процессе экспериментов. Думаете, дело в этом? Сначала было tempdev, но проблема была.
29 янв 15, 14:15    [17189347]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
Ну да, это я переименовал в процессе экспериментов.

И кто знает, что вы еще проделывали в ваших экспериментах ?
29 янв 15, 14:18    [17189368]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
И кто знает, что вы еще проделывали в ваших экспериментах ?

Кроме пересоздания файлов для TempDB - ничего криминального :)
Так таблицу master..sysaltfiles можно почистить, удалив ненужные записи 'temp%'?
29 янв 15, 14:27    [17189447]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
asfp
Кроме пересоздания файлов для TempDB - ничего криминального :)

Да ладно
Сервер, на котором сохранился файл tempdev, почему тогда нормально работает ?
29 янв 15, 14:31    [17189480]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
asfp
Member

Откуда:
Сообщений: 20
Glory
Да ладно


Ну хорошо.... "И крепость тоже я разрушил?" (с) :)

Вечером сделаю следующее:
1. Удалю лишние файлы из sys.master_files
2. Переименую файл обратно в tempdev
3. Попробую добавить файлы
29 янв 15, 15:17    [17189897]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1557
asfp,

может проблема в том, что tempdb пересоздается при каждом запуске по образу model? Тогда надо добавить файлов в model
30 янв 15, 09:57    [17193678]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
Zelius
asfp,

может проблема в том, что tempdb пересоздается при каждом запуске по образу model? Тогда надо добавить файлов в model

Это как так?
30 янв 15, 10:07    [17193734]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
Zelius,
сомнительно, что при пересоздании удаляются именно файлы. Можно проверить. Но мне лень что-то :)
30 янв 15, 11:05    [17194049]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Zelius
asfp,

может проблема в том, что tempdb пересоздается при каждом запуске по образу model? Тогда надо добавить файлов в model
Наполнение базы создается по образу model. А файлы согласно тому, что написано в метаданных для tempdb.
30 янв 15, 11:13    [17194094]     Ответить | Цитировать Сообщить модератору
 Re: TempDB  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
Есть вопрос к модераторам:
Почему не удаляются из темы неправильные ответы?

Они негативно сказываются при поиске по форуму. Человек читает неправильные ответы. Получает неверные знания.
30 янв 15, 11:48    [17194333]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить