CREATE DATABASE (Transact-SQL)- 分析平台系統(PDW)

適用於:Analytics Platform System (PDW)

此語句用於在分析平台系統設備上建立新的資料庫。 使用此陳述式建立和設備資料庫關聯的所有檔案,以及設定資料庫表格和交易記錄的大小上限與自動成長選項。

Transact-SQL 語法慣例

語法

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[ ; ]

Arguments

database_name

新資料庫的名稱。 欲了解更多允許資料庫名稱的資訊,請參閱 保留資料庫名稱。

AUTOGROW = { ON |OFF }

指定 replicated_size、 distributed_size 和 log_size 參數是否根據需要自動增長到超過其指定大小。 預設值為 OFF。

如果是 AUTOGROW,則ONreplicated_size、distributed_size及log_size根據需要每一個資料插入、更新或其他動作來成長,這些動作需要比已配置的儲存體更多的儲存體。

如果是 AUTOGROW,則OFF大小不會自動成長。

AUTOGROW要麼適用於所有尺寸,要ON麼OFF適用於所有尺寸。 例如,無法設定AUTOGROW ON為log_size,但無法設定為replicated_size。

replicated_size [ GB ]

一個正數。 設定配置給「每個計算節點上」複寫資料表和相對應資料的總空間大小 (以整數或小數 GB 為單位)。

如果是 AUTOGROW,則ON複寫的資料表可以成長超過此限制。

如果是 AUTOGROW,如果OFF使用者嘗試建立新的抄寫表格、將資料插入現有的抄寫表格,或以將大小增加到 replicated_size 以上的方式更新現有的抄寫表格,則會傳回錯誤。

distributed_size [ GB ]

一個正數。 配置給「跨設備」分散式資料表 (和相對應資料) 的總空間大小 (以整數或小數 GB 為單位)。

如果是 AUTOGROW,則ON允許分散式表格成長超過此限制。

如果是 AUTOGROW,如果OFF使用者嘗試建立新的分散式表格、將資料插入現有的分散式表格,或以將大小增加到 distributed_size 以上的方式更新現有的分散式表格,則會傳回錯誤。

log_size [ GB ]

一個正數。 跨設備交易記錄的大小 (以整數或十進位 GB 為單位)。

如果是 AUTOGROW,則ON允許日誌檔成長超過此限制。 使用 DBCC SHRINKLOG - 分析平臺系統 (PDW) 陳述式,將記錄檔的大小縮減為其原始大小。

如果是 AUTOGROW,則OFF會針對任何會將個別計算節點上的日誌大小增加到 1 log_size以外的動作傳回錯誤給使用者。

許可

需要 CREATE ANY DATABASE 資料庫中的 master 權限,或系統管理員 (sysadmin) 固定伺服器角色中的成員資格。

下列範例會將建立資料庫的權限提供給資料庫使用者 Fay。

USE master;
GO

GRANT CREATE ANY DATABASE TO [Fay];
GO

備註

建立資料庫時會使用資料庫相容性層級 120 建立,這是 SQL Server 2014 (12.x) 的相容性層級。 這可確保資料庫可以使用 PDW 使用的所有 SQL Server 2014 (12.x) 功能。

Limitations

明確交易中不允許使用 CREATE DATABASE 陳述式。 如需詳細資訊,請參閱 Transact-SQL 語句。

建立資料庫時,「每個計算節點上」都必須有足夠的可用空間,以配置下列大小的總和:

  • SQL Server 資料庫的資料表大小為 replicated_table_size。
  • SQL Server 資料庫的資料表大小為 (distributed_table_size / 計算節點數目)。
  • SQL Server 會記錄 (log_size / 計算節點數目) 的大小。

鎖定

對 DATABASE 物件採取共用鎖定。

後設資料

此作業成功之後,此資料庫的專案會出現在 sys.databases 和 sys.objects 中繼資料檢視中。

範例:Analytics Platform System (PDW)

答: 基本資料庫建立範例

以下範例會建立資料庫 mytest,其儲存區配置為每一計算節點具備 100 GB 以用於複寫資料表、每一設備 500 GB 以用於分散式資料表,以及每一設備 100 GB 以用於交易記錄。 在此示例中, AUTOGROW 預設為 off。

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

以下範例使用相同的參數創建資料庫,但mytest該參數AUTOGROW處於打開狀態。 這可以讓資料庫成長至超出指定的大小參數。

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B. 建立具備部分 GB 大小的資料庫

下列範例會建立資料庫 mytest, AUTOGROW 並關閉複寫資料表的儲存體配置為每個運算節點 1.5 GB、分散式資料表的每個應用裝置 5.25 GB,以及交易記錄的每個應用裝置 10 GB。

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);