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

SQL Server(T-SQL)で電子メールを送信するときに許容される添付ファイルのサイズを増やす方法

    データベースメールを使用して添付ファイル付きのメールを送信する場合は、添付ファイルのサイズが許容される添付ファイルのサイズ内にあることを確認する必要があります。

    添付ファイルの制限を超える添付ファイルを送信する必要がある場合は、その制限を増やす必要があります。

    幸い、許可される添付ファイルのサイズを増やすには、1行のT-SQLコードを使用します。

    エラー

    許容される添付ファイルのファイルサイズよりも大きい添付ファイルを送信しようとすると、次のエラーが発生します。

    Msg 22051, Level 16, State 1, Line 0
    File attachment or query results size exceeds allowable value of 1000000 bytes.

    制限を確認する

    まだエラーを受け取っていない場合は、制限が何であるかわからない可能性があります。 sysmail_help_configure_spを使用できます msdbのストアドプロシージャ 添付ファイルのサイズ制限を確認するためのデータベース。

    EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';

    結果:

    +-------------+--------------+---------------------------+
    | paramname   | paramvalue   | description               |
    |-------------+--------------+---------------------------|
    | MaxFileSize | 1000000      | Default maximum file size |
    +-------------+--------------+---------------------------+

    この例では、MaxFileSizeを渡しました 結果を私が興味のある構成オプションだけに絞り込むための引数として。sysmail_help_configure_spを使用することもできます。 すべての構成オプションを返すための引数なしのプロシージャ。

    制限を変更する

    添付ファイルのサイズ制限は、sysmail_configure_spで変更できます。 ストアドプロシージャ。

    EXEC msdb.dbo.sysmail_configure_sp 'MaxFileSize','3000000';

    ここで、sysmail_help_configure_spを実行すると ここでも、新しい値が表示されます。

    EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';

    結果:

    +-------------+--------------+---------------------------+
    | paramname   | paramvalue   | description               |
    |-------------+--------------+---------------------------|
    | MaxFileSize | 3000000      | Default maximum file size |
    +-------------+--------------+---------------------------+

    説明は同じままであることに注意してください。この場合、1000000がデフォルトの最大ファイルサイズであり、4000000ではないため、少し誤解を招く可能性があります。

    同じ手順で説明を変更できます。実際、パラメータname=valueを指定できます 必要に応じてペアも作成します(これはsysmail_configure_spにも当てはまります 手順)。

    もう一度やりましょう。今回は説明を更新し、name=valueを使用します。 ペア。

    EXECUTE msdb.dbo.sysmail_configure_sp  
        @parameter_name = 'MaxFileSize', 
        @parameter_value = '4000000',
        @description = 'Current maximum file size';

    ここで、sysmail_help_configure_spを実行すると ここでも、新しい値が表示されます。

    EXEC msdb.dbo.sysmail_help_configure_sp 
        @parameter_name = 'MaxFileSize';

    結果:

    +-------------+--------------+---------------------------+
    | paramname   | paramvalue   | description               |
    |-------------+--------------+---------------------------|
    | MaxFileSize | 4000000      | Current maximum file size |
    +-------------+--------------+---------------------------+

    1. Oracle PLS-00363:式''を割り当てターゲットとして使用できません

    2. Oracleでトップ1にするにはどうすればよいですか?

    3. MySQLクエリのみを使用して重複を削除しますか?

    4. UbuntuからMySQLを完全に削除する方法