我要生成腳本從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. 執行Eclipse從命令行生成javadoc
- 5. 通過命令行只(生成文件)
- 6. CMake在生成運行命令
- 7. 乾淨生成Java命令行
- 8. Visual Studio命令行生成參數
- 9. 如何從命令行生成android debug.keystore?
- 10. 執行VSPackage命令生成後
- 11. iOSOpenDev命令行工具生成錯誤
- 12. 從命令行生成UWP .appxupload VS15/W10
- 13. 從命令行生成dgml文件
- 14. 命令行報告使用Pentaho生成
- 15. 從xcode命令行生成ipa
- 16. 如何在命令行中生成Jacoco.exec?
- 17. 預生成事件命令行問題
- 18. 命令行只生成錯誤
- 19. 有python生成命令行參數
- 20. 平臺生成器命令行構建
- 21. 在bash中執行生成的命令
- 22. 生成xcarchive進入命令行
- 23. 從命令行生成JUnit報告
- 24. 經由命令行(生成文件)
- 25. Visual Studio 2012命令行生成
- 26. 通過命令行只(生成文件)
- 27. Xcode命令行生成錯誤
- 28. .dSYM文件從命令行生成
- 29. Java進程生成器生成命令
- 30. 自動生成文件生成命令
的重複[我怎樣才能在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 –