いくつかのアイデア:
SQL ServerManagementStudioから
1. Run a SELECT statement to filter your data
2. Click on the top-left corner to select all rows
3. Right-click to copy all the selected
4. Paste the copied content on Microsoft Excel
5. Save as CSV
SQLCMD(コマンドプロンプト)の使用
例:
コマンドプロンプトから、クエリを実行してファイルにエクスポートできます:
sqlcmd -S . -d DatabaseName -E -s, -W -Q "SELECT * FROM TableName" > C:\Test.csv
引用符を区切り文字として設定する場合を除いて、-s'だけを使用し、-s''は引用符で囲まないでください。
詳細はこちら:ExcelSQLServer
注:
-
このアプローチでは、ファイルの下部に「影響を受ける行」情報が表示されますが、クエリ自体で「SETNOCOUNTON」を使用することでこれを取り除くことができます。
-
実際のクエリの代わりにストアドプロシージャを実行することもできます(例:「EXECDatabase.dbo.StoredProcedure」)
- これを自動化するために、任意のプログラミング言語またはバッチファイルを使用できます
BCP(コマンドプロンプト)の使用
例:
bcp "SELECT * FROM Database.dbo.Table" queryout C:\Test.csv -c -t',' -T -S .\SQLEXPRESS
カンマ区切り文字を-t'、'として引用するのに対し、-tだけとして引用することが重要です。
詳細はこちら:bcpユーティリティ
注:
- SQLCMDを使用する場合と同様に、実際のクエリの代わりにストアドプロシージャを実行できます
- これを自動化するには、任意のプログラミング言語またはバッチファイルを使用できます
これがお役に立てば幸いです。