sql >> Databasteknik >  >> RDS >> Sqlserver

Så här fixar du "profilnamnet är inte giltigt" när du uppdaterar en e-postprofil för databas i SQL Server (T-SQL)

Om du får felet "profilnamn är inte giltigt" när du uppdaterar en Database Mail-profil i SQL Server, kan det vara så att du har glömt att ange profil-ID.

När du uppdaterar en Databas Mail-profil med sysmail_update_profile_sp lagrad procedur måste du inkludera profil-ID om du vill uppdatera profilnamnet.

Exempel

Föreställ dig att vi kör följande kod för att returnera alla Databas Mail-profiler:

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultat:

+--------------+------------------+---------------------------+
| profile_id   | name             | description               |
|--------------+------------------+---------------------------|
| 1            | DB Admin Profile | Profile for admin emails. |
+--------------+------------------+---------------------------+

Så vi beslutar oss för att uppdatera namnet på denna profil från "DB Admin Profile" till "New DB Admin Profile".

Här är ett exempel på hur inte att göra det (d.v.s. hur man skapar felet).

EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

I det här fallet tillhandahåller jag det nya namnet och den befintliga beskrivningen. Men det kommer inte att minska det.

Körs som ger följande fel:

Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42
profile name is not valid

För att göra det korrekt måste du ange profil-ID:

EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_id = 1,
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

Resultat:

Commands completed successfully.

Nu när jag kollar min lista över profiler ser jag det uppdaterade profilnamnet.

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultat:

+--------------+----------------------+---------------------------+
| profile_id   | name                 | description               |
|--------------+----------------------+---------------------------|
| 1            | New DB Admin Profile | Profile for admin emails. |
+--------------+----------------------+---------------------------+

Observera att du inte behöver ange profil-ID om du bara uppdaterar beskrivningen (så länge du anger rätt profilnamn).


  1. Hur kan jag ändra befintlig kolumn som identitet i PostgreSQL 11.1

  2. Köra en mySQL-fråga som ett cron-jobb?

  3. Oracle PL/SQL Bulk Collect med Spara undantag Exempel

  4. 6 sätt att konvertera en sträng till ett datum-/tidsvärde i SQL Server