Click here to Skip to main content
15,889,418 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
I have found several important bugs in Sql Server 2017 Transact T-Sql in Spanish language. I think they have intentionally blocked or damaged the software to not export technology outside of America. I have created some videos that show it, but Microsoft does not respond. What can be done?

It hurts me because I have been working on something for a long time and I find that these failures make the effort useless. If the software is blocked, they must notify it first, so as not to harm those who use it.

I reproduce again the text that I have shared for more than a year.

I am using Sql Server 2017 with Transact and a file with synonyms in FTData. I have found several serious flaws and problems but in the Microsoft MSDN forum and in Microsoft connect no one answers me. The rest of the people say they do not know how it works.

Video: 20171212 FreetextTable Problema con más de 3 palabras - YouTube[^]

Problem 1: Freetexttable Error With More of 3 Words.
I use Freetexttable with thousands of synonyms in a simple query in two Pc. By entering up to 3 words "Microsoft Sql Management Studio" instantly returns the result and the memory remains stable in 6Gb.

If I enter 4 words he is thinking for 10 minutes and the memory consumes until 12Gb. At the start of the video you can see what it takes Sql Server to load the synonyms and every few minutes if Sql Server is not used again it loads them again.

Example:
SQL
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


Problem 2: Transact does not return the inflections of a word if you do not accent it correctly.
When looking for the inflectional of a word, if I introduce the word with the accent the inflections appear well. The server collation is SQL_Latin1_General_CP1_CI_AI
If I introduce the word without the accent, the inflections do not appear. In Spanish café and cafés are accentuated.

Video: 20180208 Transact Inflexiones con Palabra Acentuada - YouTube[^]

SQL
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, café)', 3082, 0, 0)
display_term returns: cafes cafe
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, cafe)', 3082, 0, 0)
display_term returns: cafe

When doing the same with the synonyms, returns the same results with or without accent.
SQL
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 returns: cafe chicoria sucedaneo mezcla chicoria. In Spanish sucedáneo are accentuated.

Note: After making the video I tried to recover the inflections of the word echaré (with and without accent) and returns the inflections well in both cases. So the problem is with some words.

I have found a very interesting example. I use the verb "echar". Among others, it has 2 inflections that are "echaré" and "echaría". If I consult "echaré" with and without an accent, it works well for me and it also returns me between its inflections.
If I consult "echaría" work well with accent and bad without accent.

Video: 20180208 Inflections Problema2 - YouTube[^]

Problem 3: Transact load the synonyms many times.
I have added synonyms and a function that loads them when starting sql server. The problem is that when you make the first consultation you think about 1.5 minutes. Also, if I do not do searches, every so often (it can be 15 minutes) again it seems that it reloads the synonyms, perhaps from tempdb. How is it done to load them once and not delete them from tempdb?
I have this store procedure to load the synonyms at the start of sql server from file:

SQL
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


Problem 4: Does not support synonyms with the letter ñ.

Employment Collation (collate) SQL_LATIN1_GENERAL_CP1_CI_AI that supports accents in Spanish and the letter "ñ". When loading the thesaurus file using "EXEC sys.sp_fulltext_load_thesaurus_file @lcid = 3082;" Then I consult a synonym that has the 'ñ' and has replaced the 'ñ' with the 'n'.
I read that "With a catalog insensitive to accents, an equality of simple characters is made for the corresponding term, so that eñya = enya because 'n' is considered the insensitive equivalent to the accents of 'ñ'." but it is wrong because the "ñ" and the "n" are different letters. The letter ñ not is the letter n with an accent !!!

Problem 5: You can not protect the synonyms.
I have to install the sql server system on a client but I do not want to leave the .xml file from FTData there with synonyms. Is there a way for the file to load it from a remote URL or can the file be encrypted?

What I have tried:

Can you eliminate this question?
Posted
Updated 14-Jan-19 20:17pm
v2
Comments
CHill60 14-Jan-19 8:46am    
When you say "Can you eliminate this question?" Do you want us to delete your post?
[no name] 14-Jan-19 8:56am    
No

1 solution

All you are demonstrating is that you don't know to handle Unicode data.

Your "quick question" is a jumble of unrelated questions (SQL and "protecting synonyms" ?!).

You need to focus on a "simple" query that doesn't "work" and come back with that.

Not a bitch sheet.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900