SQL Server 内から XML 結果をディスクに出力する最も簡単な方法を見つけようとしています。何千ものレコードを処理する必要があるため、これを自動化して迅速に処理する必要があります。
これらは私が知っているオプションです:
- sp_OACreate & sp_OAMethod
- xp_cmdshell & osql.exe
- SSIS パッケージ
- アセンブリ DLL (.NET の SQLBulkCopy クラス)
- BCP ユーティリティ
現在、最初のオプション (sp_OACreate & sp_OAMethod) を使用して、結果ごとに新しいファイルを作成しています。私の環境では、クライアントの統計によると、1 つのファイルを実行して生成するのに 374 ミリ秒かかります (ほとんど何も含まれていません)。
sp_OACreate と sp_OAMethod の使用を他のアプローチと比較した 1 つの記事に出くわしましたが、それはかなり遅いです。ただし、BCP、SSIS、DLL、またはその他のアプローチのパフォーマンスは比較されません。 https://www.sqlservercentral.com/articles/writing-to-a-file-using-the-sp_oacreate-stored-procedure-and-osql-the
各オプションのベンチマークのリストは役に立ちますが、オンラインでその情報を見つけることができないようです. 私の最後のオプションは、各オプションを実装してテストし、どれが最速かを確認することですが、誰かが何らかの情報を持っていることを願っています.