熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

CREATE DATABASE

2022-06-13   來源: Windows系統管理 

  創建一個新數據庫及存儲該數據庫的文件或從先前創建的數據庫的文件中附加數據庫
  
  語法
  CREATE DATABASE database_name
  [ ON
  [ < filespec > [ n ] ]
  [ < filegroup > [ n ] ]
  ]
  [ LOG ON { < filespec > [ n ] } ]
  [ COLLATE collation_name ]
  [ FOR LOAD | FOR ATTACH ]
  
  < filespec > ::=
  
  [ PRIMARY ]
  ( [ NAME = logical_file_name ]
  FILENAME = os_file_name
  [ SIZE = size ]
  [ MAXSIZE = { max_size | UNLIMITED } ]
  [ FILEGROWTH = growth_increment ] ) [ n ]
  
  < filegroup > ::=
  
  FILEGROUP filegroup_name < filespec > [ n ]
  
  參數
  database_name
  
  新數據庫的名稱數據庫名稱在服務器中必須唯一並且符合標識符的規則database_name 最多可以包含 個字符除非沒有為日志指定邏輯名如果沒有指定日志文件的邏輯名則 Microsoft® SQL Server&#; 會通過向 database_name 追加後綴來生成邏輯名該操作要求 database_name 在 個字符之內以便生成的日志文件邏輯名少於 個字符
  
  ON
  
  指定顯式定義用來存儲數據庫數據部分的磁盤文件(數據文件)該關鍵字後跟以逗號分隔的 項列表 項用以定義主文件組的數據文件主文件組的文件列表後可跟以逗號分隔的 項列表(可選) 項用以定義用戶文件組及其文件
  
  n
  
  占位符表示可以為新數據庫指定多個文件
  
  LOG ON
  
  指定顯式定義用來存儲數據庫日志的磁盤文件(日志文件)該關鍵字後跟以逗號分隔的 項列表 項用以定義日志文件如果沒有指定 LOG ON將自動創建一個日志文件該文件使用系統生成的名稱大小為數據庫中所有數據文件總大小的 %
  
  FOR LOAD
  
  支持該子句是為了與早期版本的 Microsoft SQL Server 兼容數據庫在打開 dbo use only 數據庫選項的情況下創建並且將其狀態設置為正在裝載SQL Server 版中不需要該子句因為 RESTORE 語句可以作為還原操作的一部分重新創建數據庫
  
  FOR ATTACH
  
  指定從現有的一組操作系統文件中附加數據庫必須有指定第一個主文件的 條目至於其它 條目只需要與第一次創建數據庫或上一次附加數據庫時路徑不同的文件的那些條目必須為這些文件指定 條目附加的數據庫必須使用與 SQL Server 相同的代碼頁和排序次序創建應使用 sp_attach_db 系統存儲過程而不要直接使用 CREATE DATABASE FOR ATTACH只有必須指定 個以上的 項目時才需要使用 CREATE DATABASE FOR ATTACH
  
  如果將數據庫附加到的服務器不是該數據庫從中分離的服務器並且啟用了分離的數據庫以進行復制則應該運行 sp_removedbreplication 從數據庫刪除復制
  
  collation_name
  
  指定數據庫的默認排序規則排序規則名稱既可以是 Windows 排序規則名稱也可以是 SQL 排序規則名稱如果沒有指定排序規則則將 SQL Server 實例的默認排序規則指派為數據庫的排序規則
  
  有關 Windows 和 SQL 排序規則名稱的更多信息請參見 COLLATE
  
  PRIMARY
  
  指定關聯的 列表定義主文件主文件組包含所有數據庫系統表還包含所有未指派給用戶文件組的對象主文件組的第一個 條目成為主文件該文件包含數據庫的邏輯起點及其系統表一個數據庫只能有一個主文件如果沒有指定 PRIMARY那麼 CREATE DATABASE 語句中列出的第一個文件將成為主文件
  
  NAME
  
  為由 定義的文件指定邏輯名稱如果指定了 FOR ATTACH則不需要指定 NAME 參數
  
  logical_file_name
  
  用來在創建數據庫後執行的 TransactSQL 語句中引用文件的名稱logical_file_name 在數據庫中必須唯一並且符合標識符的規則該名稱可以是字符或 Unicode 常量也可以是常規標識符或定界標識符
  
  FILENAME
  
  為 定義的文件指定操作系統文件名
  
  os_file_name
  
  操作系統創建 定義的物理文件時使用的路徑名和文件名os_file_name 中的路徑必須指定 SQL Server 實例上的目錄os_file_name 不能指定壓縮文件系統中的目錄
  
  如果文件在原始分區上創建則 os_file_name 必須只指定現有原始分區的驅動器字母每個原始分區上只能創建一個文件原始分區上的文件不會自動增長因此os_file_name 指定原始分區時不需要指定 MAXSIZE 和 FILEGROWTH 參數
  
  SIZE
  
  指定 中定義的文件的大小如果主文件的 中沒有提供 SIZE 參數那麼 SQL Server 將使用 model 數據庫中的主文件大小如果次要文件或日志文件的 中沒有指定 SIZE 參數則 SQL Server 將使文件大小為 MB
  
  size
  
   中定義的文件的初始大小可以使用千字節 (KB)兆字節 (MB)千兆字節 (GB) 或兆兆字節 (TB) 後綴默認值為 MB指定一個整數不要包含小數位size 的最小值為 KB如果沒有指定 size則默認值為 MB為主文件指定的大小至少應與 model 數據庫的主文件大小相同
  
  MAXSIZE
  
  指定 中定義的文件可以增長到的最大大小
  
  max_size
  
   中定義的文件可以增長到的最大大小可以使用千字節 (KB)兆字節 (MB)千兆字節 (GB) 或兆兆字節 (TB) 後綴默認值為 MB指定一個整數不要包含小數位如果沒有指定 max_size那麼文件將增長到磁盤變滿為止
  
  
  
  說明 在磁盤即將變滿時Microsoft Windows NT® S/B 系統日志會警告 SQL Server 系統管理員
  
  
  UNLIMITED
  
  指定 中定義的文件將增長到磁盤變滿為止
  
  FILEGROWTH
  
  指定 中定義的文件的增長增量文件的 FILEGROWTH 設置不能超過 MAXSIZE 設置
  
  growth_increment
  
  每次需要新的空間時為文件添加的空間大小指定一個整數不要包含小數位 值表示不增長該值可以 MBKBGBTB 或百分比 (%) 為單位指定如果未在數量後面指定 MBKB 或 %則默認值為 MB如果指定 %則增量大小為發生增長時文件大小的指定百分比如果沒有指定 FILEGROWTH則默認值為 %最小值為 KB指定的大小捨入為最接近的 KB 的倍數
  
  注釋
  使用一條 CREATE DATABASE 語句即可創建數據庫以及存儲該數據庫的文件SQL Server 分兩步實現 CREATE DATABASE 語句
  
  SQL Server 使用 model 數據庫的復本初始化數據庫及其元數據
  
  
  然後SQL Server 使用空頁填充數據庫的剩余部分除了包含記錄數據庫中空間使用情況以外的內部數據頁
  因此model 數據庫中任何用戶定義對象均復制到所有新創建的數據庫中可以向 model 數據庫中添加任何對象例如表視圖存儲過程數據類型等以將這些對象添加到所有數據庫中
  
  每個新數據庫都從 model 數據庫繼承數據庫選項設置(除非指定了 FOR ATTACH)例如在 model 和任何創建的新數據庫中數據庫選項 select into/bulkcopy 都設置為 OFF如果使用 ALTER DATABASE 更改 model 數據庫的選項則這些選項設置會在創建的新數據庫中生效如果在 CREATE DATABASE 語句中指定了 FOR ATTACH則新數據庫將繼承原始數據庫的數據庫選項設置
  
  一台服務器上最多可以指定 個數據庫
  
  有三種類型的文件用來存儲數據庫
  
  主文件包含數據庫的啟動信息主文件還可以用來存儲數據每個數據庫都包含一個主文件
  
  
  次要文件保存所有主要數據文件中容納不下的數據如果主文件大到足以容納數據庫中的所有數據就不需要有次要數據文件而另一些數據庫可能非常大需要多個次要數據文件也可能使用多個獨立磁盤驅動器上的次要文件以將數據分布在多個磁盤上
  
  
  事務日志文件保存用來恢復數據庫的日志信息每個數據庫必須至少有一個事務日志文件(盡管可以有多個)事務日志文件最小為 KB
  每個數據庫至少有兩個文件一個主文件和一個事務日志文件
  
  盡管 os_file_name 可以是任何有效的操作系統文件名但如果使用以下建議的擴展名則可以更加清楚地反映文件的用途
  
  [[The No Picture]]
  
  說明 創建用戶數據庫後應備份 master 數據庫
  
  
  SIZEMAXSIZE 和 FILEGROWTH 參數中不能指定分數若要在 SIZE 參數中指定以兆字節為單位的分數請將該數字乘以 轉換成千字節例如指定 KB 而不要指定 MB( 乘以 等於
  
  如果僅指定 CREATE DATABASE database_name 語句而不帶其它參數那麼數據庫的大小將與 model 數據庫的大小相等
  
  所有數據庫都至少包含一個主文件組所有系統表都分配在主文件組中數據庫還
From:http://tw.wingwit.com/Article/os/xtgl/201311/9016.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.