2010-03-10 82 views

回答

2

,你可以嘗試這樣的事情,

首先在SQL服務器上創建一個新的存儲過程的,是這樣的。

CREATE PROCEDURE ListObjectsToFile 
AS 
BEGIN 
select * from sysobjects; 
END 
GO 

然後從命令行調用它,說明你的完整的連接字符串和輸出文件的路徑/名稱

C:\>的sqlcmd -S yourServer \ yourSQLServerInstance -U yourUser -P yourUserPassword -q ListObjectsToFile -o C:\ LIST.TXT

希望幫助,

桑蒂! :)

+0

嘿,謝謝你的回覆!原諒這個無關緊要的問題,但是什麼是自動調用命令行的最佳方式?批處理文件?謝謝。 – DonnMt 2010-03-11 00:31:02

+0

另外,yourSQLServerInstance是我的數據庫名稱嗎?謝謝! – DonnMt 2010-03-11 00:36:49

+0

不,SQL Server實例是「可選的」,並且只有在同一臺計算機上安裝了兩次或多次SQL Server時才需要。這樣做時,您必須爲您安裝的第二個和其他實例命名。因此,如果SQL Server只安裝一次,請忘記「\ yourSQLServerInstance」部分 – MaxiWheat 2010-03-11 03:16:51

2

我知道你的問題說你想要一個存儲過程來完成這項工作,但是如果你想要其他解決方案,我會在VB.NET中使用SMO。當使用.NET對象訪問數據庫對象時,它們都有一個「Script()」函數,它返回用於重新創建對象的SQL。 A table for instance

希望這可能有幫助

+0

+1,我還沒有看到tsql的方法來編寫一個完整的可運行表格腳本,其中包括所有可能的表定義項目:PK,FK,索引,默認值,檢查約束,計算列等。 – 2010-03-11 13:19:48

0

嘗試DBSourceTools。 (http://dbsourcetools.codeplex.com
其開放源代碼,專門設計用於將整個數據庫的表格,視圖,過程和數據編寫到磁盤,然後通過部署目標重新創建該數據庫。

相關問題