建立資料庫時使用參數指定資料和日誌檔案路徑
在SQL Server 中建立資料庫時,您可能需要指定資料和日誌文件應位於的路徑。這對於自動建立資料庫或部署到不同環境特別有用。
要達到此目的,您可以利用 CREATE DATABASE 語句中的參數。但是,您提供的程式碼:
DECLARE @DataFilePath AS NVARCHAR(MAX) SET @DataFilePath = N'C:\ProgramData\Gemcom\' DECLARE @LogFilePath AS NVARCHAR(MAX) SET @DataFilePath = N'C:\ProgramData\Gemcom\' USE master Go CREATE DATABASE TestDB ON PRIMARY ( NAME = N'TestDB_Data', FILENAME = @DataFilePath ) LOG ON ( NAME = N'TestDB_Log', FILENAME = @LogFilePath ) GO
將無法按原樣運作。這是因為您已經為 @DataFilePath 設定了兩次值,這會覆寫預期值。
相反,您可以利用動態 SQL 在執行時期建構 CREATE DATABASE 語句。具體操作方法如下:
DECLARE @sql AS NVARCHAR(MAX) SELECT @sql = 'CREATE DATABASE TestDB ON PRIMARY ( NAME = ''TestDB_Data'', FILENAME = ' + quotename(@DataFilePath) + ') LOG ON ( NAME = ''TestDB_Log'', FILENAME = ' + quotename(@LogFilePath) + ')' EXEC (@sql)
此方法可確保動態 SQL 語句中正確引用參數,從而允許您為資料庫指定所需的檔案路徑。
以上是使用參數建立SQL Server資料庫時如何指定資料和日誌檔案路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!