powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / COMPATIBILITY_LEVEL - 2016 ->2008 не получается
21 сообщений из 21, страница 1 из 1
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520586
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1 создаю на 2016 базу и меняю COMPATIBILITY_LEVEL на 100 (проверяю - реально стоит 100)
2 создаю таблицу и кидаю туда данные
3 отсоединяю и кидаю на другой сервант
4. другой сервант 2008 пишет что подсоединить не может ибо 852 версия (это версия 2016-ого
как обозначено вот здесь http://sqlserverbuilds.blogspot.ru/2014/01/sql-server-internal-database-versions.html)

а может только 655 - т.е как-будто версия и COMPATIBILITY_LEVEL не связаны что-ли

если честно я в затыке - как mdf создать на 2016-ом и кинуть на 2008-ом по простому, ведь вроде
по всем мануалам должно...могу конечно в текстовой скидывать данные для переброски - мне бы
понять что делаю неверно
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520588
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYong,

если не ошибаюсь, на младшую версию не присоеденить
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520592
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да мне бы прочесть - можно на англ. - гугл-то слишком много выкидывает - нужно подбирать текст вопроса
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520595
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
SangYongесли честно я в затыке - как mdf создать на 2016-ом и кинуть на 2008-ом по простому, ведь вроде
по всем мануалам должно...
какие-то неправильные мануалы.
никогда и ни за что старшую базу на младший сервер ни присоединить, ни отресторить нельзя.
а Compatibility Level вообще не имеет отношения к файлу данных.
т.е. совсем.
меняя CL, ничего с данными не делается, лишь какие-то архаические элементы языка вдруг становятся доступными,
типа звездные соединения в CL = 80
ну или старый оптимизатор можно на новой базе юзать, в таком духе
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520597
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
авторкак-будто версия и COMPATIBILITY_LEVEL не связаны что-ли
вот именно.
не как будто и не что ли.
не связаны никак и все тут.
версия базы это определенный формат хранения данных и лога.
и формат этот можно только апгрэйдить, безвозвратно
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520600
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нда ?

а вот это можно в топку:
ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 110;

вроде как речь идет о базе...

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level

не ну нет так нет...сделаем костыли
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520606
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
SangYongда мне бы прочесть - можно на англ. - гугл-то слишком много выкидывает - нужно подбирать текст вопроса
вот так подойдет?
авторSQL Server does not allow you to restore or attach a database from a higher version of SQL Server to a lower version of SQL Server.
How to migrate a SQL Server database to a lower version

официальное не могу найти.
угробили msdn тоже безвозвратно.
"апгрэйдили", Козловы хреновы
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520608
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYongнда ?

а вот это можно в топку:
ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 110;

вроде как речь идет о базе...

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level

не ну нет так нет...сделаем костыли
В смысле в топку? Там четко написано, что делает эта команда:

авторSets certain database behaviors to be compatible with the specified version of SQL Server.
Не меняет базу, а меняет поведение базы , так чтобы поведение было совместимо с определенной версией.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520615
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
SangYongнда ?

а вот это можно в топку:
ALTER DATABASE AdventureWorks2012
SET COMPATIBILITY_LEVEL = 110;

вроде как речь идет о базе...

во же блин.
вы читаете, чего вам отвечают?
база апгрэйдится -- байты в mdf, ldf реально меняются.
в одностороннем порядке, обратно не сменишь.

а CL меняй хоть сутки напролет туда-обратно.
и это никак не затрагивает сами файлы базы.

версия базы это то, что в
Код: sql
1.
dbcc dbinfo with tableresults


первая строка, dbi_version
вот меняйте CL до и наблюдайте за dbi_version, меняется или нет
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520631
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну как чел, которому пришлось в нулевых с MSA97 переходить MSA2000 и обратно
это как-то всё не понять...раз переформатировал значит и обратно можно с некотрыми
потерями функциональности...

ну спсб - ушел...
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520645
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYongну как чел, которому пришлось в нулевых с MSA97 переходить MSA2000 и обратно
это как-то всё не понять...раз переформатировал значит и обратно можно с некотрыми
потерями функциональности...

ну спсб - ушел...Можно развернуть старый сервер, подцепить в качестве линка, и на него перегнать все данные.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520648
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
SangYongну как чел, которому пришлось в нулевых с MSA97 переходить MSA2000 и обратно
это как-то всё не понять...раз переформатировал значит и обратно можно с некотрыми
потерями функциональности...

ну спсб - ушел...
Вы путаете "теоретически можно" с "практически можно".
Теоретически уйма всего возможна, а практически только то, что MS реализовало
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520656
lkhibg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в CREATE DATABASE (Transact-SQL) указано

https://technet.microsoft.com/en-us/library/ms176061(v=sql.110).aspx

A database created by a more recent version of SQL Server cannot be attached in earlier versions.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520744
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYongда мне бы прочесть - можно на англ. - гугл-то слишком много выкидывает - нужно подбирать текст вопроса
короче, вот ссылка, там в первом абзаце всё написано
SangYong http://sqlserverbuilds.blogspot.ru/2014/01/sql-server-internal-database-versions.html
а вообще, если объёмы данных совсем небольшие, то можно заскриптовать базу целиком вместе с данными и выполнить на другом сервере
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520894
iii2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShakillSangYongда мне бы прочесть - можно на англ. - гугл-то слишком много выкидывает - нужно подбирать текст вопроса
короче, вот ссылка, там в первом абзаце всё написано
SangYong http://sqlserverbuilds.blogspot.ru/2014/01/sql-server-internal-database-versions.html
а вообще, если объёмы данных совсем небольшие, то можно заскриптовать базу целиком вместе с данными и выполнить на другом сервере
Дык, а если большие - то опять же заскиптовать базу целиком и перегнать данные через bcp.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39520949
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShakillSangYongда мне бы прочесть - можно на англ. - гугл-то слишком много выкидывает - нужно подбирать текст вопроса
короче, вот ссылка, там в первом абзаце всё написано
SangYong http://sqlserverbuilds.blogspot.ru/2014/01/sql-server-internal-database-versions.html
а вообще, если объёмы данных совсем небольшие, то можно заскриптовать базу целиком вместе с данными и выполнить на другом сервере

можно, а можно и с сервера на сервер, если речь о данных.
Но ТС не задумывается, видимо, или уверен в совместимости всяких триггеров, процедур, функций, синтаксических конструкций и т.д.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39521157
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да не - хорош вам уже...просто в txt неск. млн. записей кидаю, зипую
и восстанавливаю на удаленной машине. Просто хотел упростить
процесс...а так пришлось перекладываться

спасибо за обсуждение
(кстати попробовал создать базу на 2008
потом заполнить ее на 2016 и снова приэтачить
на 2008 - не прокатило - та же ошибка - ну не знаю
- лично мне не понятно - если есть CL то почему
я не могу на деле воспользоваться совместимостью)
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39521172
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYongну не знаю
- лично мне не понятно - если есть CL то почему
я не могу на деле воспользоваться совместимостьюВам действительно надо объяснить, почму вы не можете воспользоваться воображаемым вами функционалом? Написано же, что CL влияет на поведение кода и оптимизатора, но нигде не написано, что влияет на формат базы.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39521177
Eleanor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SangYongлично мне не понятно - если есть CL то почему
я не могу на деле воспользоваться совместимостью
Представьте себе CL как частичную обратную совместимость.
Полной обратной совместимости нет.
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39521185
lkhibg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://blogs.msdn.microsoft.com/sqlserverstorageengine/2007/04/26/whats-the-difference-between-database-version-and-database-compatibility-level/

What’s the difference between database version and database compatibility level?
April 26, 2007 by Paul Randal

http://sqlrus.com/2014/10/compatibility-level-vs-database-version/

Compatibility Level vs Database Version
October 23, 2014 by John Morehouse
...
Рейтинг: 0 / 0
COMPATIBILITY_LEVEL - 2016 ->2008 не получается
    #39521212
lkhibg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно поэкспериментировать

создаём базу на SQL 2005 и отцепляем
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
USE [master]
GO

CREATE DATABASE [test]
 ON PRIMARY 
( NAME = N'test_dat', FILENAME = N'C:\temp\2005\test_dat.mdf' , SIZE = 3MB , MAXSIZE = UNLIMITED, FILEGROWTH = 3MB )
 LOG ON 
( NAME = N'test_log', FILENAME = N'C:\temp\2005\test_log.ldf' , SIZE = 3MB , MAXSIZE = UNLIMITED, FILEGROWTH = 3MB )
GO

ALTER DATABASE [test] SET RECOVERY SIMPLE 
GO

exec sp_detach_db @dbname=N'test'


копируем, подключаем на SQL 2016 и отцепляем
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
exec sp_attach_db
	@dbname = N'test',
    @filename1 = N'C:\temp\2005\test_dat.mdf',
    @filename2 = N'C:\temp\2005\test_log.ldf';

/*
Преобразование базы данных "test" с версии 611 до текущей версии 852.
База данных "test" выполняет шаг обновления с версии 611 до версии 621.
База данных "test" выполняет шаг обновления с версии 621 до версии 622.
База данных "test" выполняет шаг обновления с версии 622 до версии 625.
...
База данных "test" выполняет шаг обновления с версии 849 до версии 850.
База данных "test" выполняет шаг обновления с версии 850 до версии 851.
База данных "test" выполняет шаг обновления с версии 851 до версии 852.
*/

exec sp_detach_db @dbname=N'test'


сравниваем
Код: xml
1.
C:\fc.exe /B C:\TEMP\2005\test_dat.mdf C:\TEMP\2016\test_dat.mdf


Не удивляемся.
То, что и следовало ожидать
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / COMPATIBILITY_LEVEL - 2016 ->2008 не получается
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]