我要生成脚本从SQL Server 2005。我已经做到了通过SQL Management Studio中,即存储过程和用户定义函数的存储过程,但我想通过命令行做到这一点。是否有任何方式通过像sqlcmd.exe或任何其他脚本这样的命令行参数来执行此操作。生成命令行
生成命令行
回答
使用sp_helptext从SQLCMD查询 http://msdn.microsoft.com/en-us/library/ms176112.aspx
如果你喜欢多一点灵活性的东西,检查出sys.sql_modules系统视图,因为它给你关于对象的一些额外的信息和有能够加入其他系统表的能力很好。
MauMen的回答其余的方向是正确的,但:使用SQLCMD与“-o OutputFile.sql”生成输出到文件中。
例如,创建一个进程:
create proc dbo.pr_procDefTest
as
print 'This is a proc definition'
go
显示的定义:
select m.definition
from sys.procedures p
inner join sys.sql_modules m on p.object_id = m.object_id
where p.name = 'pr_procDefTest'
输出与SQLCMD:
sqlcmd -E -S .\sqlexpress -d test -o OutputFile.sql -Q "set nocount on; select m.definition from sys.procedures p inner join sys.sql_modules m on p.object_id = m.object_id where p.name = 'pr_procDefTest'" -h -1 -w 65535
有多种传入PARAMATERS的,这你可以看看sqlcmd Utility MSDN page。重要的是要注意使用“set nocount on”;在脚本的开头,以防止“(1行受到影响)”页脚。
@Cadeaeic我喜欢你解决方案。它很好地扩展了我的想法。 – MauMen
微软发布了一个新的工具,在几个星期前称为MSSQL,编剧这是在SSMS“生成脚本”向导的命令行版本。这是一个基于Python的,开源的命令行工具,你可以找到官方公布here。本质上,脚本允许您为数据库/数据库对象生成一个T-SQL脚本,作为.sql文件。您可以生成该文件然后执行它。这可能是您生成模式和/或数据库对象(例如存储过程)的很好的解决方案。下面是一个简单的使用例子,让你开始:
$ pip install mssql-scripter
# script the database schema and data piped to a file.
$ mssql-scripter -S localhost -d AdventureWorks -U sa --include-objects StoredProcs --schema-and-data > ./myFile.sql
更多使用的例子是我们的GitHub页面在这里:https://github.com/Microsoft/sql-xplat-cli/blob/dev/doc/usage_guide.md
- 1. 如何生成多行生成命令?
- 2. 生成从Linux命令行
- 3. 从命令行生成并运行FlexUnit
- 4. 平台生成器命令行构建
- 5. 生成xcarchive进入命令行
- 6. 从命令行生成JUnit报告
- 7. 从xcode命令行生成ipa
- 8. 从命令行生成dgml文件
- 9. 预生成事件命令行问题
- 10. 经由命令行(生成文件)
- 11. 如何从命令行生成android debug.keystore?
- 12. Visual Studio命令行生成参数
- 13. 在bash中执行生成的命令
- 14. Visual Studio 2012命令行生成
- 15. iOSOpenDev命令行工具生成错误
- 16. 干净生成Java命令行
- 17. 有python生成命令行参数
- 18. 通过命令行只(生成文件)
- 19. 如何在命令行中生成Jacoco.exec?
- 20. 自动生成文件生成命令
- 21. 动态生成命令行命令,然后使用powershell调用
- 22. IOS SDK使用命令行生成生成错误?
- 23. 生成mod_rewrite.so用命令
- 24. rebot命令不生成output.xml
- 25. PowerShell命令生成后VS2010
- 26. BASH动态命令生成
- 27. 自动生成Nuget命令?
- 28. vs.net多预生成命令
- 29. 生成命令错误:npminstall
- 30. 使用命令输出为zsh生成自动完成命令
的重复[我怎样才能在SQL Server Management Studio 2008的自动“生成脚本”任务?(http://stackoverflow.com/questions/483568/how-can-i-automate-the-generate-scripts-task-in-sql-server-management-studio-20) - 看到这对以前的SO问题如何做到这一点 –
该解决方案是不是一个确切的答案,但你会发现这是一种有益的选择:http://weblogs.asp.net/stevewellens/archive/2009/12/11/automatically-generate-stored-procedures -with-visual-studio.aspx –