sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)でデータベースメールプロファイルを更新するときに「プロファイル名が無効」を修正する方法

    SQL Serverでデータベースメールプロファイルを更新するときに「プロファイル名が無効です」というエラーが表示される場合は、プロファイルIDの入力を忘れている可能性があります。

    sysmail_update_profile_spでデータベースメールプロファイルを更新する場合 ストアドプロシージャで、プロファイル名を更新する場合は、プロファイルIDを含める必要があります。

    次のコードを実行して、すべてのデータベースメールプロファイルを返すとします。

    EXEC msdb.dbo.sysmail_help_profile_sp;

    結果:

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

    そのため、このプロファイルの名前を「DB管理者プロファイル」から「新しいDB管理者プロファイル」に更新することにしました。

    しない方法の例を次に示します。 それを行うために(つまり、エラーを生成する方法)。

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

    この場合、新しい名前と既存の説明を提供します。しかし、それはそれを削減するつもりはありません。

    これを実行すると、次のエラーが発生します:

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

    正しく行うには、プロファイルIDを提供する必要があります:

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

    結果:

    Commands completed successfully.

    プロファイルのリストを確認すると、更新されたプロファイル名が表示されます。

    EXEC msdb.dbo.sysmail_help_profile_sp;

    結果:

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

    説明を更新するだけの場合は(正しいプロファイル名を指定する限り)、プロファイルIDを指定する必要はありません。


    1. SQLServer2008の分割機能

    2. Oracleでnull値の列を合計する

    3. 4すぐに使えるSQLデータ変換方法とユースケース

    4. Neo4j-Cypherを使用してノードを作成する