問題タブ [database-mail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1201 参照

sql-server - データベース メールのタイムアウト エラー

もちろん、私はデータベースのバックアップを毎日取っています。しかし今、そのバックアップ ファイルを別の場所に送信し、そのデータベース メールに使用したいと考えています。

データベース メールを構成し、サイズが 10 MB 未満のファイルを問題なく送信できます (少なくとも、このサイズまでテストしました)。しかし、データベースのバックアップ サイズは約 350 MB で、送信しようとするとエラーが発生します。

例外メッセージ: メール サーバーにメールを送信できません (操作がタイムアウトしました)

. この問題を解決するにはどうすればよいですか、同じ問題に遭遇した人はいますか?

0 投票する
1 に答える
471 参照

sql - SQL Server 2012 ジョブの失敗 - 電子メールの送信

ここや他の場所でいくつかの調査を行い、いくつかのトラブルシューティングを試みた後、私はあなたに助けを求めます.

SQL Server 2012 では、(現在) 1 つのステップしかない仕事があります。そのステップは次のようになります。

ジョブの「General」タブで、所有者を God-Mode sql ユーザーとして設定しています。無制限の特権を持つ必要があります。

ステップの [Run As] ドロップダウンは空です。これを変更する方法がわかりません。

上記のステップ コード @profile_name では、2 つのことを試しました。Management Studio でデータベース メールを使用して「テスト メッセージの送信」を試みたところ、すべて正常に機能し、使用したユーザーは「USERX」でした。「USERY」と言うデータベース メール ウィザードをセットアップします。@profile_name を USERX と USERY に変更してみましたが、明らかな違いはありません。

これが私が得ているエラーです。私は(故意に)このユーザーを使用するように依頼していないため、混乱しています:ユーザーとして実行:NT AUTHORITY\SYSTEM。プロファイル名が無効です

私はいくつかのことを試しました。データベース メール ウィザードのプロファイル セキュリティでは、表示される唯一のユーザーは USERX (上記で概説したように、メールの送信にテストで正常に使用されたユーザー) です。USERY は表示されません。データベース メール ウィザードの [View Change etc Account] で試してみました。ここに表示されるユーザーは USERY だけです。いいえ、USERX! 私はとても混乱しています。USERY SMTP認証をwindows、basic、およびAnonymousに設定してみましたが、役に立ちませんでした。

Profile Security で NT AUTHORITY\SYSTEM などのさまざまなユーザーを設定する必要があると読みましたが、それも表示されず、NETWORK も表示されません。

どんな提案でも大歓迎です。

編集:ああ!USERX はプロファイル、USERY はアカウントです...どちらも問題ありません。テスト メールは、USERY アカウントの USERX プロファイルを使用していました。したがって、USERX を @profile_name として設定する必要があると思いますが、それでも問題は解決しません。何らかの理由で、まだ NT AUTHORITY\SYSTEM を使用しています。

0 投票する
0 に答える
59 参照

sql - データベース メールの週次データの収集

現在ジョブにコミットされている資料を表す SQL テーブルがあります。ジョブが完了するたびに、使用された最終材料の長期記録のみが必要なため、データは削除されます。

問題は、過去 1 週間にコミットされた各マテリアル (ジョブが完了したときにクリアされたものを含む) のジョブ番号とマテリアル番号を電子メール メッセージとして取得したいことです。新しいテーブルを作成したり、毎日メールを送信したりしたくありません。

データベース メールを (SQL Server エージェント ジョブなどを介して) 取得して、毎日 (おそらく 1 日に 1 回以上) 情報を収集し、週末に1 つの電子メールのみを送信する方法はありますか?

0 投票する
0 に答える
408 参照

sql-server - 固定小数の代わりに科学的値を与える SQL 電子メールの表形式

結果を表形式でメールに送信するクエリがあります。このリンクを参考にしています。https://www.mssqltips.com/sqlservertip/2347/send-email-in-a-tabular-format-using-sql-server-database-mail/

必要なデータを含むメールを正常に送信できますが、値が希望どおりではありません。

ここに画像の説明を入力

HTML を使用せずにクエリを実行すると、正しい形式の値が得られます。

ここに画像の説明を入力

HTML表形式を実装するときに、科学表記法ではなく固定値を取得するスクリプトで何をする必要がありますか? どんな助けでも大歓迎です。

0 投票する
2 に答える
9267 参照

php - gmail や yahoo などのメーリング サービスを自作する方法

私はphpとデータベースの初心者です。しかし、自分の Web サーバーでメール操作を実行する (つまり、データベース操作だけで) という考えはありますが、gmail のような外部の Web サイトにメールを送信する方法はまったくわかりません。また、ex:-myownemail@localhost のような独自の電子メール アドレスを作成することも楽しみにしています。Googleで何度も検索しましたが、理解できる答えが見つかりませんでした。これを行う方法を簡単な言葉で教えてもらえますか?

0 投票する
1 に答える
956 参照

sql - データベース メール テーブルの切り捨て

SQL サーバー (2005 年) でドライブ容量の問題が発生しており、テーブルでいくつかのクエリを実行したsys.allocation_unitsところ、26 GB のデータベース メール添付ファイルがあることがわかりました。どうやら、私たちmsdbは数年間、何のクリーンアップもせずにこれを隠していたようです.

使用しようとしsysmail_delete_mailitems_spましたが、ログがいっぱいになり、スペースの制限に達しています。このsys sprocを調べたところ、実際に実行しているのは実行中だけです

いくつかのパラメーターとエラー処理を使用します。これは、sysmail_xyz テーブルのコレクションから削除すると想定しているシステム ビューです。

この古いメール データは必要ありません私たちがメールするものはすべて、アプリケーション層にすでに記録され、アーカイブされています。走ってもいいですか

それはビューですが、DELETEされているので、TRUNCATEもできるかどうか疑問に思っています。そうでない場合は、できるかもしれません

しかし、システムを壊すようなものを孤立させてしまうのではないかと心配しています。助言がありますか?

0 投票する
1 に答える
1091 参照

configuration - エージェント サービスは 2012 Standard Edition で開始されず、サポートされていないエディションを主張します

これは、SQL Server 2012 Standard Edition の既定のインスタンスからメールが届かない理由を突き止めようとしたことから始まりました。エージェント ジョブは正常に実行されていますが、最後にサーバーで電子メールを送信しようとして成功したのは 2016 年 2 月 2 日で、次に電子メールを送信しようとしたのは 2016 年 3 月 8 日でした (それ以降のすべての電子メールには NULL sent_account_id があり、 sent_status 0)。

現在の電子メール構成を削除し、デフォルト インスタンスで最初から再構成することにしました。これには、エージェント サービスを再起動して、電子メールで通知を送信できるようにする必要があります。エージェント サービスの再起動に失敗しました。SQLAGENT.OUT は次を示します。

一番興味深いのは下から 3 行目です。「このサービスをインストールした SQL Server のエディションは、SQL Server エージェントをサポートしていません。」私の知る限り、このサーバーには Express Edition インスタンスはありませんでした。このサーバーには 2 つの Standard Edition インスタンスがあり、どちらも同じ電子メールの問題を抱えており、いずれかのインスタンスで「SELECT @@VERSION」を実行すると、次の結果が返されます。

Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 2015 年 10 月 20 日 15:36:27 Copyright (c) Microsoft Corporation Standard Edition (64 ビット) on Windows NT 6.1 (Build 7601: Service Pack 1) (ハイパーバイザー)

2016 年 2 月 8 日に SP3 がインストールされた後にサービスが新しく開始されたため、エージェントにいくつかの問題が発生するように、その後何かが変更されたに違いありません。別のサーバー (同じプロジェクトのテスト インスタンス) を見つけたところ、同じ問題が見つかりました。これは、2015 年 7 月 27 日から 2015 年 9 月 5 日の間に始まり、その期間 (またはそれ以降) に SQL Server の更新は適用されませんでした。

メールの問題を修正することが私をこの道に追いやったのですが、エージェントを再び実行することがより優先されます (そして、メールの問題を修正する可能性があります)。

明らかに Standard Edition であり、Agent サービスがサービスの再起動の数分前にジョブを実行していた場合に、Agent がこれを Express Edition インスタンスであると混乱させる原因は何ですか?

このサーバーの 2 番目のインスタンスでエージェント サービスを再起動していません。このインスタンスは常に正常にジョブを実行していました (サービスの再起動が試行されるまで、デフォルト インスタンスのサービスと同様でした)。

[追記] Agent サービスを Local Service アカウントで実行するように変更しようとすると、「指定されたファイルが見つかりません。[0x80070002]」という結果になりました。

SQLエラーログでこれを見つけました:

キュー 'msdb.dbo.ExternalMailQueue' で実行されているアクティブ化された proc '[dbo].[sp_sysmail_activate]' は、次の出力を出力しました: 'DatabaseMail.exe プロセスを作成できませんでした。API 'CreateProcess' の実行がエラー番号 2 で失敗しました。

0 投票する
1 に答える
1835 参照

sql - SQL Server データベース メールに HTML 本文を指定すると、空白のメッセージが送信される

SQL Server Management Studio データベース メールを使用して、自動化された HTML 形式の電子メールを送信しようとしています。プレーンテキストの本文を指定すると問題なく動作しますが、HTML に変更するとすぐにメッセージが空白になります。彼らは適切な件名とその他すべてを送信しますが、本文はありません。

関連するコードは次のとおりです。

注: 今すぐ仕事に取りかかることを心配しているのは、「CRM で機会を作成する」のケースだけです。また、ここで使用されるいくつかの変数は、@opty_id や @description のように、コードの前半で宣言および/または設定されます。