2012-02-20 54 views
0

我想轉儲一個SQL Server數據庫 - 獲取創建類似數據庫所需的所有SQL代碼。我有DatabaseA的完整在線權利,我可以用SQL提供它,並將結果返回到表中的行中。從一個數據庫獲取SQL以僅使用SQL創建一個類似的數據庫

我做不是有可能使用企業管理器,任何應用程序,實用程序或類似的東西。我只能用純SQL提供它。

我後面的是SQL代碼,如CREATE TABLE等。所以我可以將其粘貼到查詢中,並且在DatabaseB中創建表,程序和函數。我會不是複製數據。

這部分我想要做什麼,它給我的過程和函數:

Select object_Name(object_ID),definition from sys.SQL_Modules 

但不表。

+1

您需要通過powershell或其他框架使用企業管理器,ssms或其他一些工具,如SMO。表格定義過於複雜,無法用純TSQL解析出來,就像索引一樣。 – JNK 2012-02-20 16:39:19

+1

企業管理器還使用普通的T-SQL來獲取所有架構信息。因此,您可以啓動SQL Profiler並調查企業管理器生成的查詢。這會給你一些你需要查詢的線索。 – 2012-02-20 16:41:08

+0

謝謝,正如我寫的,我**不能**使用企業管理器。我沒有對數據庫服務器運行的機器的訪問權限。我只能通過網頁訪問,在那裏我可以輸入SQL代碼,並將結果以行的形式獲取到表中。 – user1221510 2012-02-20 16:54:03

回答

0

您可以使用命令行或創建存儲過程來創建備份,然後使用該備份創建新數據庫。我經常使用命令行。這裏有一個前面的Stack問題,它有一個命令行示例和一個指向存儲過程示例的鏈接。

+0

嗨,命令行不會幫助我,因爲我根本無法訪問服務器機器。正如我寫的,我可以得到修復和現成的代碼來創建函數和程序,使用此: 選擇object_Name(object_ID),定義從sys.SQL_Modules 所以我認爲必須有一種方法來做表 – user1221510 2012-02-20 16:55:31

+0

相同看看存儲過程的例子,那會是一個選擇嗎? – northpole 2012-02-20 17:00:36

-1

您可以在SQL Server Management Studio中爲整個數據庫或特定數據庫對象生成腳本。

爲此,請右鍵單擊數據庫,然後選擇「任務」,然後選擇「生成腳本」。

然後它會打開一個嚮導,讓您選擇腳本編寫完整數據庫或僅指定特定數據庫對象。

+0

謝謝,但你看過我的文章嗎?我不能使用任何「Studio」或「Manager」,因爲我只能通過網頁訪問SQL Server。在這個頁面上,我可以發佈任何我想要的SQL,因爲我擁有所有的用戶權限。 – user1221510 2012-02-20 19:11:54

相關問題