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

Откуда: Россия, Красноярск.
Сообщений: 21759
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4042.0 (X64) Mar 26 2015 21:18:04 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

В сервер вставили новый диск, такая ошибка:
Невозможно использовать файл "R:\MSSQL\Data\tempdb.mdf", так как он был первоначально отформатирован с размером сектора 512 и
в настоящий момент находится в томе с размером сектора 3072.
Переместите файл в том, размер которого равен или меньше исходного размера сектора.

Рэйд контролер сообщает что:
Размер физического сектора(байты) 3072
Размер логического сектора(байты) 512

Что нибудь можно сделать? Или искать старый диск?
9 июн 16, 12:10    [19275175]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Левый пассажир
Guest
Сервис пак что ли поставил ? :)
9 июн 16, 12:43    [19275432]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Левый пассажир
Guest
Мне помогло то ли установка свежих драйверов на рейд, то ли какая то заплатка от майкрософта.
9 июн 16, 12:46    [19275457]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
Левый пассажир,
ничего не ставил, все давно работает в такой конфигурации, только диск поменял,
на новый большой.
9 июн 16, 12:47    [19275468]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
мне чего-то такое писало в связи с покупкой ноута с терабайтовым диском.
лечится установкой Intel Rapid Storage
9 июн 16, 13:28    [19275771]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Мудроглюков
Member

Откуда:
Сообщений: 8319
sparrow,
а если копировать БД средствами СУБД
есть и мастер копирования БД
https://msdn.microsoft.com/ru-ru/library/ms188664(v=sql.120).aspx
10 июн 16, 06:23    [19278709]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
Мудроглюков
sparrow,
а если копировать БД средствами СУБД
есть и мастер копирования БД
https://msdn.microsoft.com/ru-ru/library/ms188664(v=sql.120).aspx
Это же просто копирование файлов.
10 июн 16, 08:00    [19278773]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Мудроглюков
Member

Откуда:
Сообщений: 8319
alexeyvg
Мудроглюков
sparrow,
а если копировать БД средствами СУБД
есть и мастер копирования БД
https://msdn.microsoft.com/ru-ru/library/ms188664(v=sql.120).aspx
Это же просто копирование файлов.


не совсем уверен, но скорее всего файл будет размещ с разметокй под тот размер физического сектора, куда скопирован
(просто приаттачить не получилось - в чем и вопрос-проблема топика)

файл mdf состоит из страниц, которые далее организуются в более крупные блоки ... - отчего вот и увязка с размером логигческого блока диска
10 июн 16, 08:57    [19278867]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
Вообще все плохо.
Там компьютер старенький, поставил диск с большим размером сектора 4096,
контроллер его понимает, как с размером физического сектора 3072,
винда причем все равно пишет, читает, а ms sql не признает.

Обновлений биоса нет, новых драйверов нет.
10 июн 16, 09:35    [19279002]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
И это TempDb он при старте службы ms sql каждый раз создается снова, причем успешно,
а потом не работает. Во если как нибудь поробовать создать базу Model на этом диске.
Но тогда подозреваю я на других дисках никакую базу не смогу создать.
10 июн 16, 09:40    [19279023]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
Мудроглюков
...

+ off
не поверите, я в третий раз читаю сию фамилию как Мудоглюков,
и думаю, ну нормально ли не банить за подобный ник?
хочу сказать спасибо за идею,
я теперь своим прочтенным вариантом буду кое-кого обзывать, и по делу!
10 июн 16, 10:07    [19279138]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
Мудроглюков
alexeyvg
пропущено...
Это же просто копирование файлов.


не совсем уверен, но скорее всего файл будет размещ с разметокй под тот размер физического сектора, куда скопирован
(просто приаттачить не получилось - в чем и вопрос-проблема топика)
Файл просто аттачится.

Какие волшебные недокументированные команды может выполнить визард "копирование баз"?

Ему доступны ровно те команды, которые описаны в доке - восстановление из бакапа, аттач файлов, и создание объектов с переливкой данных, других команд нет.

Если бы визард умел посылать команды "с разметокй под тот размер физического сектора, куда скопирован", то есть если бы такие команды существовали, то их можно было бы выполнить и самому, без визарда.
Мудроглюков
файл mdf состоит из страниц, которые далее организуются в более крупные блоки ... - отчего вот и увязка с размером логигческого блока диска
Вот этого я не понимаю.
Страницы в файле всегда 8 кб, и они не привязаны к размеру физического блока. Работа с диском сейчас идёт через драйвер тома, и тоже не привязана к размеру физического блока диска.

Это всё ИМХО идёт от старых форматов и старого кода, который никто не удосужился поменять, когда был переход на версию MSSQL 7.0; начиная с той версии, никакой необходимости привязки к размеру физического блока нет, но проверки и ненужный код остались.
10 июн 16, 10:32    [19279282]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Мудроглюков
Member

Откуда:
Сообщений: 8319
alexeyvg
Мудроглюков
пропущено...


не совсем уверен, но скорее всего файл будет размещ с разметокй под тот размер физического сектора, куда скопирован
(просто приаттачить не получилось - в чем и вопрос-проблема топика)
Файл просто аттачится.

Какие волшебные недокументированные команды может выполнить визард "копирование баз"?

Ему доступны ровно те команды, которые описаны в доке - восстановление из бакапа, аттач файлов, и создание объектов с переливкой данных, других команд нет.

Если бы визард умел посылать команды "с разметокй под тот размер физического сектора, куда скопирован", то есть если бы такие команды существовали, то их можно было бы выполнить и самому, без визарда.
Мудроглюков
файл mdf состоит из страниц, которые далее организуются в более крупные блоки ... - отчего вот и увязка с размером логигческого блока диска
Вот этого я не понимаю.
Страницы в файле всегда 8 кб, и они не привязаны к размеру физического блока. Работа с диском сейчас идёт через драйвер тома, и тоже не привязана к размеру физического блока диска.

Это всё ИМХО идёт от старых форматов и старого кода, который никто не удосужился поменять, когда был переход на версию MSSQL 7.0; начиная с той версии, никакой необходимости привязки к размеру физического блока нет, но проверки и ненужный код остались.


конечно, скорее всего ничего волшебного Wizard (кстати переводиться как волшебник) не делает
PS Вот занимаясь Линуксами, знакомишься со множеством файловых систем, которые чуть ли не для каждого своеобразного Линукса свою придумывают и пытаются придавать новые качества: вот и предположение, а вдруг - ведь если это используют, то это может давать эффект.

8^)
10 июн 16, 10:51    [19279367]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Мудроглюков
Member

Откуда:
Сообщений: 8319
o-o
Мудроглюков
...

+ off
не поверите, я в третий раз читаю сию фамилию как Мудоглюков,
и думаю, ну нормально ли не банить за подобный ник?
хочу сказать спасибо за идею,
я теперь своим прочтенным вариантом буду кое-кого обзывать, и по делу!


в общем - в нике конечно попытка внести юмор и самоиронию
PS Ничего предосудительного вроде в этом нет.
10 июн 16, 10:53    [19279386]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
Мудроглюков
Member

Откуда:
Сообщений: 8319
sparrow
Вообще все плохо.
Там компьютер старенький, поставил диск с большим размером сектора 4096,
контроллер его понимает, как с размером физического сектора 3072,
винда причем все равно пишет, читает, а ms sql не признает.

Обновлений биоса нет, новых драйверов нет.


так в БИОСе проблема тогда ж
10 июн 16, 10:55    [19279401]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
+ off
Мудроглюков
...Ничего предосудительного вроде в этом нет.

да мне очень даже нравится, я всего лишь выношу благодарность за идею :)
вроде должно быть стыдно, не заметить мудрость с трех раз, но почему-то я даже не краснею
10 июн 16, 11:01    [19279446]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
kb
Microsoft SQL Server currently supports the following sector sizes that are equal to or less than 4 kilobytes (KB):

Physical sector sizes that evenly divide into 4 KB
Physical sector sizes that are smaller than the size of the original formatted sector size of the database, as long as the smaller sector size is evenly divisible into the originally formatted sector size
512 bytes
1,024 bytes
2,048 bytes
4,096 bytes

Note Microsoft SQL Server supports disk drives that have standard native sector sizes of 512 bytes and 4 KB.

[url=Hard disk drive sector-size support boundaries in SQL Server ]https://support.microsoft.com/en-us/kb/926930[/url]
10 июн 16, 11:04    [19279468]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
o-o, понятно, спасибо.
10 июн 16, 11:10    [19279496]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
alexeyvg
Страницы в файле всегда 8 кб, и они не привязаны к размеру физического блока. Работа с диском сейчас идёт через драйвер тома, и тоже не привязана к размеру физического блока диска.

Это всё ИМХО идёт от старых форматов и старого кода, который никто не удосужился поменять, когда был переход на версию MSSQL 7.0; начиная с той версии, никакой необходимости привязки к размеру физического блока нет, но проверки и ненужный код остались.

указанные MS-ом размеры сектора говорят об обратном:
им не все равно, сколько секторов займет страница.
поддерживаемые размеры сектора таковы,
что страница всегда займет целое число секторов.
по этому поводу могу такую цитату привести:
автор
Align with 8 KB boundary
Sector sizes should always allow for 8 KB alignment of SQL Server data pages.
SQL Server writes data pages in 8 KB increments;
the physical sector sizes and alignment should always enable SQL Server to write the 8 KB so that it is aligned on sector boundaries
or as a multiple of a smaller sector size.
This is to prevent torn I/O conditions, data page spanning, and sector rewrites.
Sector sizes of 4 KB enable the SQL Server data page to occupy two physical sectors
and allows for SQL Server data pages to be aligned on 8 KB boundaries efficiently.
If a sector size of 1536 bytes is used, the alignment for data pages is broken.
This creates 8 KB pages that span the same physical sector.
This results in the risk of unwanted sector rewrites (RMWs) of data pages.
This hinders database performance and could lead to unexpected data loss (torn) situations.

SQL Server I/O Basics, Chapter 2
10 июн 16, 12:30    [19279974]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
o-o
указанные MS-ом размеры сектора говорят об обратном:
им не все равно, сколько секторов займет страница.
поддерживаемые размеры сектора таковы,
что страница всегда займет целое число секторов.
Про ограничение страницу я знаю, я не понимаю, откуда оно берётся?

Ну вот, в объяснении написано, что типа им всё равно, но при этом понизится производительность, а это нежелательно, поэтому они запретили.

Вообще, размер сектора, не кратный степени 2, это конечно жесть. Это вам не диски 4К. И непонятно, зачем ТАКОЕ?
10 июн 16, 13:10    [19280201]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
alexeyvg
o-o
указанные MS-ом размеры сектора говорят об обратном:
им не все равно, сколько секторов займет страница.
поддерживаемые размеры сектора таковы,
что страница всегда займет целое число секторов.
Про ограничение страницу я знаю, я не понимаю, откуда оно берётся?

Ну вот, в объяснении написано, что типа им всё равно, но при этом понизится производительность, а это нежелательно, поэтому они запретили.
Я признаюсь, говорил о своём :-)

Насчёт запрета для секторов 3072 - это понятно, правильно, что запретили. Ну и проблем нет, нужно просто заменить диск на нормальный.

Я же писал вообще о фиче запрета переноса, когда сектор равен степени 2, но не совпадает с сектором, на котором была сделана БД изначально.
10 июн 16, 13:15    [19280228]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
alexeyvg
Ну вот, в объяснении написано, что типа им всё равно, но при этом понизится производительность, а это нежелательно, поэтому они запретили.

ну там как бы еще перечислен unexpected data loss (torn) situations.
допустим, они определяют torn page, исходя из предполагаемого размера сектора 512.
потому что именно дописывание сектора гарантирует производитель дисков.
логично, что им удобно, чтобы страница вписывалась в целое число секторов.
а то если один сектор разделяется двумя страницами, пишут вторую, сбой, а загадилась первая?
но вообще я на MS не работаю, поэтому подробностями надо у них интересоваться,
я только предполагаю :)
10 июн 16, 13:22    [19280276]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
o-o
Guest
кстати, про аттач и рестор тоже пишут: с большего не меньший да,
наоборот -- нет:
автор
Restore and attach
A SQL Server database can be restored or attached on a system that has a smaller sector size.
To help guarantee data integrity, the larger sector size should be evenly divisible by the smaller sector size.
For example a 4 KB source restored/attached to a 1 KB or 512-byte destination is an evenly divisible size.
Restoring or attaching to a smaller sector size such as 1536 bytes
does not fill the “evenly divisible” requirement and immediately requires sector rewrite operations to occur.

SQL Server is not designed to dynamically upgrade the database to the larger sector sizes.
SQL Server disallows restoring or attaching a database on a system with a larger sector size;
it generates an error message and prevents the restore or attach operation.
Enabling a database to function by using a smaller formatted sector size than the actual sector size violates the WAL protocol
because the sector size variation guarantees the log records will not be correctly aligned with the physical sector size
and log records will be rewritten.
At the time of publication, some current subsystems report sector sizes larger than 512 bytes but most do not.
The larger sector sizes involve newer technology and require API changes at the operating system level.
Future changes in Microsoft® Windows and SQL Server will correctly support the larger sector sizes and allow for dynamic adjustment of sector sizes.
10 июн 16, 18:14    [19282127]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
o-o
логично, что им удобно, чтобы страница вписывалась в целое число секторов.
а то если один сектор разделяется двумя страницами, пишут вторую, сбой, а загадилась первая?
Так пусть вписывается. Я не понимаю, как от этого зависит формат базы.
Пишут они, разумеется, страницами логического тома, а не физического диска.
Обычно страница тома - 4КБ
Она может состоять из одной страницы по 4КБ, 4 страниц по 1КБ, или из 8 страниц по 512 Б
По идее, они не делают операций с физическими страницами, и соответственно, они не
Т.е. какими бы не были физические страницы, для чтения одной страницы базы (8КБ) они посылают команду "считать 2 блока по 4КБ"
o-o
но вообще я на MS не работаю, поэтому подробностями надо у них интересоваться,
я только предполагаю :)
Вот я тоже только предполагаю, нигде не видел какой то информации о связи данных в БД, движка sqlio из MSSQL, и физического размера секторов.

Очевидно, от физического размера сектора должен зависить формат БД, иначе никак. Вот мне непонятно, где, в каком месте он может зависеть, что там пишется "в физических секторах"?
У меня только одно предположение - в записях транзакционного лога.
10 июн 16, 18:32    [19282216]     Ответить | Цитировать Сообщить модератору
 Re: Размер физического сектра 3072  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
o-o
кстати, про аттач и рестор тоже пишут: с большего не меньший да,
наоборот -- нет:
автор
Restore and attach
A SQL Server database can be restored or attached on a system that has a smaller sector size.
To help guarantee data integrity, the larger sector size should be evenly divisible by the smaller sector size.
For example a 4 KB source restored/attached to a 1 KB or 512-byte destination is an evenly divisible size.
Restoring or attaching to a smaller sector size such as 1536 bytes
does not fill the “evenly divisible” requirement and immediately requires sector rewrite operations to occur.

SQL Server is not designed to dynamically upgrade the database to the larger sector sizes.
SQL Server disallows restoring or attaching a database on a system with a larger sector size;
it generates an error message and prevents the restore or attach operation.
Enabling a database to function by using a smaller formatted sector size than the actual sector size violates the WAL protocol
because the sector size variation guarantees the log records will not be correctly aligned with the physical sector size
and log records will be rewritten.
At the time of publication, some current subsystems report sector sizes larger than 512 bytes but most do not.
The larger sector sizes involve newer technology and require API changes at the operating system level.
Future changes in Microsoft® Windows and SQL Server will correctly support the larger sector sizes and allow for dynamic adjustment of sector sizes.
А, ну вот тут тоже говорят про лог.
Видимо, там затык.
Скорее бы "Future changes in Microsoft® Windows and SQL Server will correctly support the larger sector sizes and allow for dynamic adjustment of sector sizes. "
10 июн 16, 18:34    [19282218]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить