DB内のテーブルを別のファイルにエクスポートする必要があります。各テーブルのSQL Server Management Studioでエクスポートウィザードを実行する代わりに、これを行うためのより迅速な方法はありますか?データはパイプで区切られた形式にする必要があります。 solutionが見つかりましたが、データをプルしません。テーブル定義のみです。SQLテーブルを別々のパイプ区切りファイルに簡単にエクスポートする方法はありますか?
答えて
これは1つの方法です。あなたは区切りファイルパイプにエクスポートするために文書化されていないsp_msforeachtableとbcpを使用するとxp_cmdshellを
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1;
GO
-- To update the currently configured value for this feature.
RECONFIGURE;
GO
を有効にすることができます。
EXECUTE sp_msForEachTable
'EXECUTE master.dbo.xp_cmdshell ''bcp "SELECT * FROM ?" queryout D:\Data\?.txt -t "|" -c -T -S ServerName\InstanceName'''
これが動作し、あなたはそれが(この上で読むことがたくさんがあります)に活用することができるよう、それはまだ有効されなかった場合は、xp_cmdshellを無効ことを確認したいと思います。また、必要な場所にファイルを書き込む権限があることを確認してください。
それは優れた解決策です+1。 – alas
ありがとう! –
@SQLChao、bcpのドキュメントhttps://msdn.microsoft.com/en-us/library/ms162802.aspxを見ていますが、出力ファイルの最初の行に列名を含めるパラメータオプションがありますか?ありがとう。 –
bcp(ここではhttps://msdn.microsoft.com/en-us/library/ms162802.aspxと表示)を使用して、デリミタにパイプを使用するエクスポート形式を指定できます。唯一の欠点は、毎回テーブル名を指定する必要があるため、おそらくテーブル名でリストを作成し、次にpowershellスクリプトを使用してリストをループしてbcpを実行する必要があるということです。
私はまた@SQLChaoが彼の溶液中で指摘したようにsp_configureのがxp_cmdshellを設定されていると仮定すると、助けた次のが見つかりました:
Execute sp_MSforeachtable
'Execute master.dbo.xp_cmdshell ''sqlcmd -S DATABASE -E -d mydb -q "SET NOCOUNT ON SELECT * FROM ?" -W -o C:\TEMP\?.bak -s "|"'''
を出力ファイル内の列名の下にダッシュを削除するには:
Execute sp_MSforeachtable
'Execute master.dbo.xp_cmdshell ''findstr /R /C:"^[^-]*$" c:\temp\?.bak > c:\temp\?.txt'''
最後に、作成した.BAKファイルを削除:
Execute master.dbo.xp_cmdshell 'del c:\temp\*.bak'
- 1. Cのパイプを簡単に消去する方法はありますか
- 2. パイプ文字区切り文字でフィールドを区切る方法
- 3. ASP.NETのファイルをExcelファイルにエクスポートする簡単な方法はありますか?
- 4. HTMLテーブルをSQLファイルに保存する簡単な方法は?
- 5. WebSphereに簡単にデプロイする方法はありますか?
- 6. PHPで文法単語を区切る方法はありますか?
- 7. CObListを簡単にソートする方法はありますか?
- 8. QProgressBarを簡単にカスタマイズする方法はありますか?
- 9. VBScriptハウツーは、区切られた区切りで区切られた別々の値を分割しますか?
- 10. C++でパイプ区切りファイルを編集していますか?
- 11. MYSQLはカンマ区切りの値を別々のフィールドに挿入しますか?
- 12. SQL Serverのすべてのテーブルを別々のファイルにエクスポートします。
- 13. 簡単なページ区切りコード
- 14. GUIDと単なる乱数を区別する方法はありますか?
- 15. データベースSQLスクリプトファイルをオブジェクトごとに1つのファイルに分割する簡単な方法はありますか?
- 16. Readlineに代わる簡単な方法はありますか?
- 17. XCodeでファイルを簡単に置き換える方法はありますか?
- 18. MySqlWorkbent内の別々のsqlファイルにsctiptを挿入する方法はありますか?
- 19. UITextFieldでテキストを区切る方法はありますか?
- 20. Gimpを使ってイメージからスライスを簡単に切り取る方法はありますか?
- 21. メッセージキュー(MSMQ)からメッセージを簡単にエクスポートできるツールはありますか?
- 22. UITableViewから区切り線を削除する方法はありますか?
- 23. "elseif marathon"より簡単な方法はありますか?
- 24. 配列内の繰り返し文字列を簡単に識別する方法はありますか? (PHP)
- 25. パーティションをテーブルから切り離して、Oracleで別のパーティションに接続する方法はありますか。
- 26. あるxamlオブジェクトのプロパティを別のものにバインドする簡単な方法はありますか?
- 27. コンマ区切り文字列をint []に変換する最も簡単な方法は何ですか?
- 28. vimバッファをlprにパイプする方法はありますか?
- 29. NSArrayを後方に反復する簡単な方法はありますか?
- 30. RubyコードをPHPに簡単に変換する方法はありますか?
エクスポートしたいですすべてのテーブルをCSVファイルに変換しますか? – SQLChao
いいえ、パイプで区切られたファイルには、テーブルごとに1つのファイルが別個にあります。 –
あなたはおそらくPowershellからこれを行うことができます – dfundako