sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan rettes "profilnavnet er ikke gyldigt" ved opdatering af en databasemailprofil i SQL Server (T-SQL)

Hvis du får fejlen "profilnavn er ikke gyldigt", når du opdaterer en databasemail-profil i SQL Server, kan det være, at du har glemt at angive profil-id'et.

Når du opdaterer en Database Mail-profil med sysmail_update_profile_sp gemt procedure, skal du inkludere profil-id'et, hvis du vil opdatere profilnavnet.

Eksempel

Forestil dig, at vi kører følgende kode for at returnere alle Database Mail-profiler:

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultat:

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

Derfor beslutter vi os for at opdatere navnet på denne profil fra "DB Admin Profile" til "Ny DB Admin Profile".

Her er et eksempel på hvordan ikke at gøre det (dvs. hvordan man producerer fejlen).

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

I dette tilfælde giver jeg det nye navn og den eksisterende beskrivelse. Men det kommer ikke til at skære den ned.

Kørsel, der vil producere følgende fejl:

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

For at gøre det korrekt skal du angive profil-id'et:

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.

Når jeg nu tjekker min liste over profiler, ser jeg det opdaterede profilnavn.

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultat:

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

Bemærk, at du ikke behøver at angive profil-id'et, hvis du kun opdaterer beskrivelsen (så længe du angiver det korrekte profilnavn).


  1. JSON_INSERT() vs JSON_SET() vs JSON_REPLACE() i SQLite

  2. Sådan konverteres en streng til en dato/tid i SQL Server ved hjælp af PARSE()

  3. 4 PL/SQL anonyme blokeksempler

  4. SQL Server Standard Edition High Availability Futures