我将使用批处理脚本为用户导出表。
在Microsoft SQL Server Management Studio (SSMS)中,可以将多个表导出到一个*.sql
文件中。
但是在mssql-scripter
中,我找不到支持多个表的解决方案。
我正在使用这个脚本。
mssql-scripter -S SERVER_NAME -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table1 --script-drop-create > ./output.sql
我想要table1 &表二。
所以我把它分成两个批处理文件:
make_script.bat
set SERVER_NAME=name
start "table1" scriptmake_table1.bat %SERVER_NAME%
start "table2" scriptmake_table2.bat %SERVER_NAME%
make_table1.bat
set SERVER_NAME=%1
mssql-scripter -S %SERVER_NAME% -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table1 --script-drop-create > ./table1.sql
exit
make_table2.bat
set SERVER_NAME=%1
mssql-scripter -S %SERVER_NAME% -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table2 --script-drop-create > ./table2.sql
exit
它的工作原理。但有一个问题:make_table1.bat
和make_table2.bat
不闭合。
我在一个批处理中创建了这两个命令-但是现在,对mssql-scripter
的第二个调用从未启动。
make_script.bat
set SERVER_NAME=name
mssql-scripter -S %SERVER_NAME% -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table1 --script-drop-create > ./table1.sql
mssql-scripter -S %SERVER_NAME% -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table2 --script-drop-create > ./table2.sql
如何导出两个表?
使用空间可以导出多个表
set SERVER_NAME=%1
mssql-scripter -S %SERVER_NAME% -U user -P password -d DatabaseName --schema-and-data --include-objects dbo.table1 dbo.table2 --script-drop-create > ./tables.sql
exit