J'ai un problème étrange dans une base de données AWS RDS SQL Server que j'ai tourné et je ne peux pas comprendre ce qui se passe.ANSI Avertissements sur Amazon RDS SQL Server ne pas définir
Test 1
create table #tmp
(test varchar(10) null)
insert into #tmp
select 'asfsadfasdsafdafas'
select * from #tmp
drop table #tmp
Résultats dans:
Msg 8152, niveau 16, état 14, ligne 5
Chaîne ou des données binaires seront tronquées.(0 rangée (s) affecté)
test 2
set ANSI_WARNINGS OFF
create table #tmp1
(test varchar(10) null)
insert into #tmp1
select 'asfsadfasdsafdafas'
select * from #tmp1
drop table #tmp1
Résultats dans:
------------------
asfsadfasd
Quand je regarde les propriétés de base de données, il est dit que la norme ANSI Warnings Enabled est défini sur FALSE, cependant, la base de données ne semble pas se comporter comme prévu.
Toute aide serait appréciée.
EDIT: Un autre exemple pourrait aider
ALTER DATABASE test_db
set QUOTED_IDENTIFIER OFF
go
select "hello"
Résultats dans:
Msg 207, niveau 16, état 1, ligne 5 nom de colonne non valide 'bonjour' .
Merci
Presque tous les clients (par exemple ADO, ODBC, etc.) seront mis en ANSI_WARNINGS par défaut. Je recommande vivement de le laisser de toute façon - si vous voulez que la troncature se produise ici, il est assez facile de spécifier une opération 'SUBSTRING'. Et beaucoup de fonctionnalités SQL Server ne sont tout simplement pas disponibles si les avertissements ansi sont désactivés, donc c'est une mauvaise habitude de développer du code qui les oblige à partir. –
Pour référence http://www.sqlservercentral.com/articles/SET+Options/144571/ – SQL006
Merci Damien - J'adorerais pouvoir le faire. Malheureusement, ce n'est pas une option pour nous. Je migre un serveur existant vers AWS et j'ai besoin de le répliquer tel quel. J'ai aussi un problème similaire avec quoted_identifiers. – Vandelay