Non, il n'y a rien directement dans SQL Server qui vous permettra de le faire.
Cependant, indirectement - il y a un moyen: vous pouvez inspecter les vues du catalogue système et énumérer toutes les colonnes - en les limitant aussi aux colonnes (N) VARCHAR/(N) CHAR - et vous pourriez avoir votre premier T- L'instruction SQL génère une liste d'instructions UPDATE à partir de ces vues de catalogue système. Avec cette liste d'instructions T-SQL, vous pouvez ensuite exécuter la commande actuelle pour nettoyer votre base de données - cela touchera toutes les colonnes orientées caractères de toutes vos tables dans votre base de données.
SELECT
'UPDATE ' + sch.name + '.' + t.name + ' SET ' + c.name + ' = REPLACE("<script>....</script>", "")'
FROM
sys.columns c
INNER JOIN
sys.tables t ON c.object_id = t.object_id
INNER JOIN
sys.schemas sch ON t.schema_id = sch.schema_id
WHERE
t.is_ms_shipped = 0
AND c.user_type_id IN (167, 175, 231, 239)
Cela va générer une liste des UPDATE
déclarations comme résultat, et vous pouvez alors prendre ces déclarations, copiez & les coller dans une deuxième fenêtre SSMS et les exécuter pour mettre à jour vos colonnes.
UPDATE dbo.T_ServicePSSAAudit SET RunType = REPLACE(RunType, '<script>....</script>', '')
UPDATE dbo.T_PromoStatus SET StatusText = REPLACE(StatusText, '<script>....</script>', '')
UPDATE dbo.T_PromoStatus SET StatusCode = REPLACE(StatusCode, '<script>....</script>', '')
UPDATE dbo.T_DSLSpeed SET CaptionCode = REPLACE(CaptionCode, '<script>....</script>', '')
UPDATE dbo.T_DVPTransfer SET RequestType = REPLACE(RequestType, '<script>....</script>', '')
UPDATE dbo.T_Promo SET Description = REPLACE(Description, '<script>....</script>', '')
Vous pouvez trouver tous les types de système définis dans la vue catalogue sys.types
- Je viens a saisi les valeurs pour user_type_id
char
, nchar
, varchar
et nvarchar
ici dans cet échantillon.
@marc_s: vous avez raison; éditer ma réponse. – CesarGon