1 如何批量导出?
2 navicat只能导出到一个文件
3 需要每个数据库对象导出为一个文件,比如每个存储过程导出为各自的文件
操作步骤
1、数据库右键-->任务-->生成脚本
2、选择特定数据库对象
3、保存到文件
参考下这个,可以通过navicat的数据传输和备份两种方式进行导出
https://www.cnblogs.com/Marydon20170307/p/15867104.html
写一个存储过程,将所有存储过程导入到本地d:\aa文件夹中:如下:
CREATE PROC usr_sp_out
AS
BEGIN
SET NOCOUNt ON
IF OBJECT_ID('usr_tmp') IS NULL
CREATE TABLE usr_tmp(a VARCHAR(100),t VARCHAR(8000))
DECLARE @name VARCHAR(100)
DECLARE @content VARCHAR(5000)
DECLARE @sql VARCHAR(5000)
DECLARE cur_name CURSOR LOCAL
FOR
SELECT name,CONVERT(VARCHAR(5000),TEXT) text FROM sysobjects A INNER JOIN syscomments B ON a.id=b.id
WHERE A.xtype='P'
ORDER BY name
OPEN cur_name
FETCH NEXT FROM cur_name INTO @name,@content
WHILE(@@FETCH_STATUS=0)
BEGIN
INSERT dbo.usr_tmp(a,t) VALUES( @name,@content )
set @sql = 'osql -Ssql服务名 -Usa -P密码 -q"SELECT t from test.dbo.usr_tmp " -o"d:\aa\'+@name+'.sql" -h-1'
EXEC master.dbo.xp_cmdshell @sql
DELETE FROM usr_tmp
FETCH NEXT FROM cur_name INTO @name,@content
END
CLOSE cur_name
END
效果如图