回答:
Tools
> Options
> Query Results
> SQL Server
> Results to Text (or Grid if you want)
>Include columns headers in the result set
このオプションを変更した後、SSMSを閉じて再度開く必要がある場合があります。
SQLエディターのツールバーで、SSMSを再起動せずにファイルに保存を選択できます
エクスポートウィザードを試してください。この例ではテーブル全体を選択しますが、クエリを指定するのと同じくらい簡単です。
(ここでクエリを指定することもできます)
もう1つの可能性は、クリップボードを使用して結果を直接Excelにコピーして貼り付けることです。データによっては、予期しない結果になる場合があるため、一般タイプのExcel列には注意してください。CTL-A
結果グリッドの任意の場所で右クリックします。
Excelの一般的な形式で不要な変換を行うことに問題がある場合は、Excelで空白の列を選択してから貼り付けて、形式を「テキスト」に変更してください。
少なくともSQL Server 2012では、クエリウィンドウを右クリックして[クエリオプション]を選択できます。そこから、グリッドやテキストのヘッダーを含めるを選択し、SSMSを再起動せずに、名前を付けて保存を希望どおりに機能させることができます。
新しいクエリウィンドウでデフォルトでこれらの設定を使用するには、メニューバーの[ツール]> [オプション]で変更する必要があります。
同じ問題がVisual Studioにも存在します。ここでそれを修正する方法を示します。
移動:
Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid
チェックボックスをクリックしてtrueにします。「結果をコピーまたは保存するときに列ヘッダーを含める」
左上隅をクリックして結果を選択し、右クリックして[ヘッダー付きでコピー]を選択します。Excelに貼り付けます。できた!
@Diegoの承認済みの回答で変更するようにアドバイスされている設定は、SQL Server Management Studio(SSMS)内で開く将来のすべてのクエリセッションに対してこのオプションを永続的に設定する場合に適しています。これは通常そうではありません。また、この設定を変更するには、SQL Server Management Studio(SSMS)アプリケーションを再起動する必要があります。保存されていない開いているクエリセッションウィンドウが多数あり、デバッグの途中にいる場合、これもまた「あまり良くない」エクスペリエンスです。
SQL Serverは、セッションごとにそれを変更する非常に洗練されたオプションを提供します。クエリオプションウィンドウを使用して以下の手順を詳しく説明します。
Query Options...
次のようにコンテキストメニューの下部をクリックします。Results
>] Grid
を選択します。次にInclude column headers when copying or saving the results
示すように、右ペインのチェックボックスをオンにします。それでおしまい。現在のセッションでは、SSMSを再起動することなく、すぐに有効な設定が反映されます。また、この設定は今後のセッションには反映されません。この設定をセッションごとに効果的に変更することは、それほど騒々しいことではありません。
結果をエクスポートするときにSSMSがCSVセパレータを適切にエスケープする方法を探す場合は、ここにアクセスしてください。
何だと思う?-これは実際にはオプションであり、デフォルトではオフになっています。したがって、デフォルトでは、CSVファイルが壊れてしまいます(エクスポートが大きく、データに通常のコンマが含まれていない場合などは、気付かないかもしれません)。CSVをエクスポートするには、チェックボックスをクリックしてクリックする必要があります。正しく!
私には、これは非常に愚かな設計の選択であり、一般的なソフトウェアに対するMicrosoftのアプローチの適切な比喩のように見えます(「デフォルトで破られ、些細な機能を動作させるには意味のない儀式的なアクションが必要です」)。
しかし、誰かがこのオプションが存在する正当な現実の理由(つまり、それが役に立った実際のシナリオ)を1つ教えてくれた場合は、喜んで回答者の選択した慈善団体に100ドルを寄付します。
私も同じ問題に直面しています。クエリウィンドウで右クリックして[クエリオプション]を選択した場合。ただし、ヘッダー行は出力CSVファイルに表示されません。
次に、サーバーからログオフし、再度ログインしてスクリプトを実行します。その後、うまくいきました。
Include column headers when copying or saving the results
オプションを変更してみましたか?このオプションは、ウィンドウの左側のナビゲーションペインでResults
> を選択するとGrid
表示されQuery Options
ます。