J'ai une tâche de flux de données SSIS qui prend des enregistrements de recherche correspondants et les envoie à un composant de commande OLE DB. Quand je le lance, je reçois une erreur qui dit:Pourquoi la commande OLE DB tente-t-elle de mettre à jour le schéma?
Error: 0xC0202009 at Data Flow Task, OLE DB Command [28]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Property cannot be added. Property 'MS_Description' already exists for 'dbo.d_date.d_date_key'.".
My SQL est:
UPDATE d_date
SET company_year_period = ?,
company_quarter = ?,
company_year_quarter = ?,
company_quarter_year = ?,
company_first_day_of_week = ?,
company_last_day_of_week = ?,
is_company_holiday = ?,
company_special_event = ?,
is_us_holiday = ?,
us_special_event = ?,
is_canadian_holiday = ?,
canadian_special_event = ?,
is_mexican_holiday = ?,
mexican_special_event = ?
WHERE d_company_key = ?
AND calendar_date = ?
Pourquoi cette composante/simple mise à jour avec les propriétés Messing étendues?!?
Pour être complet, voici le code que j'ai utilisé lorsque j'ai créé la table.
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key for the d_date table. While it is a surrogate key it never the less has the form yyyymmdd.' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'd_date', @level2type=N'COLUMN',@level2name=N'd_date_key'
CREATE TRIGGER d_date_update ON d_date
AFTER UPDATE
AS
UPDATE d_date
SET last_update = GETDATE()
WHERE d_date_key IN (SELECT DISTINCT d_date_key FROM Inserted)
;
j'ai une table, d_date, avec des propriétés étendues de MS_Description pour chaque colonne. La table est remplie avec 2558 enregistrements de date. J'ai une seconde table de travail sans les propriétés étendues. Il est également peuplé de quelques enregistrements légèrement différents. La mise à jour suivante échoue:
UPDATE dd
SET dd.company_year_period = wdd.company_year_period,
dd.company_quarter = wdd.company_quarter,
dd.company_year_quarter = wdd.company_year_quarter,
dd.company_quarter_year = wdd.company_quarter_year,
dd.company_first_day_of_week = wdd.company_first_day_of_week,
dd.company_last_day_of_week = wdd.company_last_day_of_week,
dd.is_company_holiday = wdd.is_company_holiday,
dd.company_special_event = wdd.company_special_event,
dd.is_us_holiday = wdd.is_us_holiday,
dd.us_special_event = wdd.us_special_event,
dd.is_canadian_holiday = wdd.is_canadian_holiday,
dd.canadian_special_event = wdd.canadian_special_event,
dd.is_mexican_holiday = wdd.is_mexican_holiday,
dd.mexican_special_event = wdd.mexican_special_event
FROM d_date AS dd
LEFT JOIN working_d_date AS wdd ON wdd.d_company_key = dd.d_company_key
AND wdd.calendar_date = dd.calendar_date
(2558 row(s) affected)
Msg 15233, Level 16, State 1, Procedure sp_addextendedproperty, Line 37
Property cannot be added. Property 'MS_Description' already exists for 'dbo.d_date.d_date_key'.
FINAL COMMENTAIRE: Je courais tout cela sur SS2014 Enterprise que j'ai mis sur mon poste de travail en utilisant la licence d'essai. Je ne suis pas un DBA donc les chances sont bonnes que je n'ai pas quelque chose configuré correctement. J'ai transféré tout sur notre serveur de production SS2008 R2 et je ne vois aucun problème. Cela pourrait être un problème entre 2014 et 2008, mais plus probablement un problème d'installation avec mon installation de 2014. Je revisite à nouveau lorsque nous installons formellement 2014.
Y a-t-il une chance qu'un déclencheur soit attaché à la table? – billinkc
Je suis en train de mettre à jour une colonne last_update. –
Souhaitez-vous publier la définition du déclencheur? Cliquez sur le bouton Modifier et corrigez-le dans la question – billinkc