一次将所有SQL Server表导出到txt或csv
我有数百个SQL Server表要导出到带
"
文本限定符和|
分隔的txt或csv。导入/导出向导一次仅允许一个表。
有没有更好的方法/工具/脚本一次完成这一切?
谢谢
解决方案
您可以使用以下内容对bcp执行某些操作:
SELECT 'bcp [' + TABLE_SCHEMA + '].[' + TABLE_NAME + '] out "' + TABLE_SCHEMA + '.' + TABLE_NAME + '.txt" -T -c -t"|" -d {DATABASE NAME} -S {SERVER NAME} -T'
FROM INFORMATION_SCHEMA.TABLES
这将为您运行它的数据库中的每个表输出BCP语句。然后,您可以将它们复制并粘贴到命令窗口中。
在上面的内容中,您可能希望将{database name}和{server name}替换为您的环境的详细信息。"-T"使用可信连接(即您),因此如果您需要使用特定的用户名和密码执行某些操作,则需要进行相应的调整。有关更多详细信息,请查看BCP util文章。选择可能需要根据数据库中的对象名称进行更多调整,但希望这能让您对从哪里开始/如何开始有所了解。
相关文章