zequion Ответов: 1

Sql server 2017 с проблемами transact и синонимов. Microsoft не отвечает.


Я обнаружил несколько важных ошибок в Sql Server 2017 Transact T-Sql на испанском языке. Я думаю, что они намеренно заблокировали или повредили программное обеспечение, чтобы не экспортировать технологию за пределы Америки. Я создал несколько видеороликов, которые показывают это, но Microsoft не отвечает. Что можно сделать?

Это причиняет мне боль, потому что я работаю над чем-то в течение длительного времени, и я нахожу, что эти неудачи делают усилия бесполезными. Если программное обеспечение заблокировано, они должны сначала уведомить его, чтобы не навредить тем, кто его использует.

Я снова воспроизводю текст, которым делился больше года.

Я использую Sql Server 2017 с Transact и файлом с синонимами в FTData. Я нашел несколько серьезных недостатков и проблем, но на форуме Microsoft MSDN и в Microsoft connect мне никто не отвечает. Остальные люди говорят, что они не знают, как это работает.

Видео: 20171212 функция freetexttable проблема кон за 3 палабрас - Ютуб[^]

Проблема 1: ошибка Freetexttable с более чем 3 словами.
Я использую Freetexttable с тысячами синонимов в простом запросе на двух ПК. При вводе до 3 слов "Microsoft Sql Management Studio" мгновенно возвращает результат и память остается стабильной в 6 ГБ.

Если я ввожу 4 слова, он думает в течение 10 минут, а память потребляет до 12 ГБ. В начале видео вы можете увидеть, что требуется Sql Server для загрузки синонимов, и каждые несколько минут, если Sql Server не используется снова, он загружает их снова.

Пример:
SELECT [Table].*, FT.* FROM [Table] INNER JOIN FREETEXTTABLE([Table], [Contenido], 'Word1 Word2 Word3') FT ON [Table].Id=FT.[Key] WHERE ([Table].STATE IS NULL OR [Table].STATE = ' ') ORDER BY RANK DESC, Page


Проблема 2: Transact не возвращает флексии слова, Если вы не акцентируете его правильно.
При поиске флексии слова, если я ввожу слово с ударением, то флексии появляются хорошо. Параметры сортировки сервера-SQL_Latin1_General_CP1_CI_AI
Если я введу слово без акцента, то интонации не появятся. В испанском кафе и кафе акцентированы.

Видео: 20180208 Transact Inflexiones con Palabra Acentuada - YouTube[^]

SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, café)', 3082, 0, 0)
display_term возвращает: кафе кафе
Выберите display_term из SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, cafe)', 3082, 0, 0)
display_term возвращается: cafe

Делая то же самое с синонимами, возвращает те же результаты с акцентом или без него.
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(THESAURUS, cafe)', 3082, 0, 0)
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(THESAURUS, café)', 3082, 0, 0)

display_term возвращается: cafe chicoria sucedaneo mezcla chicoria В испанском языке sucedáneo акцентируются.

Примечание: после создания видео я попытался восстановить флексии слова echaré (с акцентом и без него) и хорошо вернул флексии в обоих случаях. Так что проблема в некоторых словах.

Я нашел очень интересный пример. Я использую глагол "эчар". Среди прочих, он имеет 2 флексии, которые являются "echaré" и "echaría". Если я обращаюсь к "echaré" с акцентом и без него, он хорошо работает для меня, и он также возвращает меня между своими интонациями.
Если я консультируюсь с "echaría", то хорошо работаю с акцентом и плохо без акцента.

Видео: 20180208 Перегибы Problema2 - YouTube[^]

Проблема 3: Transact загружает синонимы много раз.
Я добавил синонимы и функцию, которая загружает их при запуске sql server. Проблема в том, что когда вы делаете первую консультацию, вы думаете около 1,5 минут. Кроме того, если я не делаю поиск, то время от времени (это может быть 15 минут) снова кажется, что он перезагружает синонимы, возможно, из tempdb. Как это делается, чтобы загрузить их один раз и не удалять их из tempdb?
У меня есть эта процедура хранения для загрузки синонимов в начале sql server из файла:

USE master;
GO
CREATE PROCEDURE Sinonimos
AS
SET NOCOUNT ON;
GO
EXEC sys.sp_fulltext_load_thesaurus_file 3082, @loadOnlyIfNotLoaded = 1;
GO

Activate the store procedure at startup by:
USE master
GO
EXEC sp_procoption @ProcName='Sinonimos', @OptionName = 'startup', @OptionValue = 'on';
GO


Проблема 4: не поддерживает синонимы с буквой -.

Сортировка занятости (collate) SQL_LATIN1_GENERAL_CP1_CI_AI, поддерживающая акценты на испанском языке и букву" -". При загрузке файла тезауруса, используя "метод exec sys файла.sp_fulltext_load_thesaurus_file @идентификатор = 3082;" тогда я буду консультировать синоним, который имеет '-' и заменить на '-' С 'Н'.
Я читал, что "с каталогом, нечувствительным к акцентам, равенство простых символов делается для соответствующего термина, так что eñya = enya, потому что" n "считается нечувствительным эквивалентом акцентов" -". но это неправильно, потому что " - " и "n" - разные буквы. Буква-не есть буква Н с ударением !!!

Проблема 5: Вы не можете защитить синонимы.
Я должен установить систему sql server на клиенте, но я не хочу оставлять там xml-файл из FTData с синонимами. Есть ли способ загрузить файл с удаленного URL-адреса или файл может быть зашифрован?

Что я уже пробовал:

Можете ли вы устранить этот вопрос?

CHill60

Когда вы говорите: "можете ли вы устранить этот вопрос?" Вы хотите, чтобы мы удалили ваш пост?

[no name]

Нет

1 Ответов

Рейтинг:
0

Gerry Schmitz

Все, что вы демонстрируете, - это то, что вы не знаете, как обрабатывать данные Unicode.

Ваш "быстрый вопрос" - это мешанина несвязанных вопросов (SQL и "защита синонимов" ?!).

Вам нужно сосредоточиться на "простом" запросе, который не "работает", и вернуться с этим.

Ни одной сучьей простыни.