中文字幕天天躁日日躁狠狠躁,最近中文字幕大全免费版在线,最近2019免费中文字幕视频三,亚洲精品无码你懂的,亚洲国产精品成人精品小说

  • 相關(guān)軟件
    >ALTER DATABASE 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    在數(shù)據(jù)庫中添加或刪除文件和文件組。也可用于更改文件和文件組的屬性,例如更改文件的名稱和大小。ALTER DATABASE 提供了更改數(shù)據(jù)庫名稱、文件組名稱以及數(shù)據(jù)文件和日志文件的邏輯名稱的能力。



    ALTER DATABASE 支持數(shù)據(jù)庫選項的設(shè)置。在早期版本的 Microsoft® SQL Server™ 中,這些選項可以通過 sp_dboption 存儲過程來設(shè)置。在此次發(fā)布的版本中,SQL Server 繼續(xù)支持 sp_dboption存儲過程,但在未來版本中可能不再支持??墒褂?DATABASEPROPERTYEX 函數(shù)檢索數(shù)據(jù)庫選項的當(dāng)前設(shè)置。



    語法


    ALTER DATABASE database

    { ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ]

    | ADD LOG FILE < filespec > [ ,...n ]

    | REMOVE FILE logical_file_name

    | ADD FILEGROUP filegroup_name


    | REMOVE FILEGROUP filegroup_name

    | MODIFY FILE < filespec >

    | MODIFY NAME = new_dbname


    | MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }

    |
    SET < optionspec > [ ,...n ] [ WITH < termination > ]

    | COLLATE < collation_name >

    }



    < filespec > ::=

    ( NAME = logical_file_name

        [ , NEWNAME = new_logical_name ]

        [ , FILENAME = 'os_file_name' ]

        [ , SIZE = size ]

        [ , MAXSIZE = { max_size | UNLIMITED } ]

        [ , FILEGROWTH = growth_increment ] )



    < optionspec > ::=

        <state_option>

        | < cursor_option >

        | < auto_option >

        | < sql_option >

        | < recovery_option >



        < state_option > ::=

            { SINGLE_USER | RESTRICTED_USER | MULTI_USER }

            | { OFFLINE | ONLINE }


            | { READ_ONLY | READ_WRITE }



        < termination > ::=

            ROLLBACK AFTER integer [ SECONDS ]

            | ROLLBACK IMMEDIATE

            | NO_WAIT



        < cursor_option > ::=

            CURSOR_CLOSE_ON_COMMIT { ON | OFF }

            | CURSOR_DEFAULT { LOCAL | GLOBAL }



        < auto_option > ::=

            AUTO_CLOSE { ON | OFF }

            | AUTO_CREATE_STATISTICS { ON | OFF }

            | AUTO_SHRINK { ON | OFF }

            | AUTO_UPDATE_STATISTICS { ON | OFF }



        < sql_option > ::=

            ANSI_NULL_DEFAULT { ON | OFF }

            | ANSI_NULLS { ON | OFF }

            | ANSI_PADDING { ON | OFF }

            | ANSI_WARNINGS { ON | OFF }

            | ARITHABORT { ON | OFF }

            | CONCAT_NULL_YIELDS_NULL { ON | OFF }

            | NUMERIC_ROUNDABORT { ON | OFF }

            | QUOTED_IDENTIFIER { ON | OFF }

            | RECURSIVE_TRIGGERS { ON | OFF }



        < recovery_option > ::=

            RECOVERY { FULL | BULK_LOGGED | SIMPLE }

            | TORN_PAGE_DETECTION { ON | OFF }



    參數(shù)


    database



    是要更改的數(shù)據(jù)庫的名稱。



    ADD FILE



    指定要添加文件。



    TO FILEGROUP



    指定要將指定文件添加到的文件組。



    filegroup_name



    是要添加指定文件的文件組名稱。



    ADD LOG FILE



    指定要將日志文件添加到指定的數(shù)據(jù)庫。



    REMOVE FILE



    從數(shù)據(jù)庫系統(tǒng)表中刪除文件描述并刪除物理文件。只有在文件為空時才能刪除。



    ADD FILEGROUP



    指定要添加文件組。



    filegroup_name



    是要添加或除去的文件組名稱。



    REMOVE FILEGROUP



    從數(shù)據(jù)庫中刪除文件組并刪除該文件組中的所有文件。只有在文件組為空時才能刪除。



    MODIFY FILE



    指定要更改給定的文件,更改選項包括 FILENAME、SIZE、FILEGROWTH 和 MAXSIZE。一次只能更改這些屬性中的一種。必須在 <filespec> 中指定 NAME,以標(biāo)識要更改的文件。如果指定了 SIZE,那么新大小必須比文件當(dāng)前大小要大。只能為 tempdb 數(shù)據(jù)庫中的文件指定 FILENAME,而且新名稱只有在 Microsoft SQL Server 重新啟動后才能生效。



    若要更改數(shù)據(jù)文件或日志文件的邏輯名稱,應(yīng)在 NAME 選項中指定要改名的邏輯文件名稱,并在 NEWNAME 選項中指定文件的新邏輯名稱。



    示例如下:



    MODIFY FILE (NAME = logical_file_name, NEWNAME = new_logical_name...)



    可同時運行幾個 ALTER DATABASE database MODIFY FILE 語句以實現(xiàn)多個修改文件操作時性能最優(yōu)。



    MODIFY NAME = new_dbname



    重命名數(shù)據(jù)庫。



    MODIFY FILEGROUP filegroup_name { filegroup_property | NAME = new_filegroup_name }



    指定要修改的文件組和所需的改動。



    如果指定 filegroup_name 和 NAME = new_filegroup_name,則將此文件組的名稱改為 new_filegroup_name。



    如果指定 filegroup_namefilegroup_property,則表示給定文件組屬性將應(yīng)用于此文件組。filegroup_property 的值有:


    READONLY


    指定文件組為只讀。不允許更新其中的對象。主文件組不能設(shè)置為只讀。只有具有排它數(shù)據(jù)庫訪問權(quán)限的用戶才能將文件組標(biāo)記為只讀。



    READWRITE


    逆轉(zhuǎn) READONLY 屬性。允許更新文件組中的對象。只有具有排它數(shù)據(jù)庫訪問權(quán)限的用戶才能將文件組標(biāo)記為讀/寫。



    DEFAULT


    將文件組指定為默認數(shù)據(jù)庫文件組。只能有一個數(shù)據(jù)庫文件組是默認的。CREATE DATABASE 語句將主文件組設(shè)置為初始的默認文件組。如果在 CREATE TABLE、ALTER TABLE 或者 CREATE INDEX 語句中沒有指定文件組,則新表及索引將在默認文件組—中創(chuàng)建。



    WITH <termination>



    指定當(dāng)數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)時,何時回滾未完成的事務(wù)。只能指定一條 termination 子句,而且該子句應(yīng)跟在 SET 子句后面。


    ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE


    設(shè)定是在指定秒數(shù)之后回滾還是立即回滾。如果省略了 termination 子句,那么將允許事務(wù)自主提交或回滾。



    NO_WAIT


    指定如果請求的數(shù)據(jù)庫語句或選項更改只有等待事務(wù)自主提交或回滾才能立即完成,該請求將失敗。



    COLLATE < collation_name >



    指定數(shù)據(jù)庫的排序規(guī)則。排序規(guī)則名稱既可以是 Windows 排序規(guī)則名稱,也可以是 SQL 排序規(guī)則名稱。如果沒有指定排序規(guī)則,則將 SQL Server 實例的默認排序規(guī)則指派為數(shù)據(jù)庫的排序規(guī)則。



    有關(guān) Windows 和 SQL 排序規(guī)則名稱的更多信息,請參見 COLLATE。



    <filespec>



    控制文件屬性。


    NAME


    指定文件的邏輯名稱。



    logical_file_name


    是在 Microsoft SQL Server 中引用文件時所用的名稱。該名稱在數(shù)據(jù)庫中必須唯一,并應(yīng)遵循標(biāo)識符規(guī)則。該名稱可以是字符或 Unicode 常量、常規(guī)標(biāo)識符或定界標(biāo)識符。有關(guān)更多信息,請參見使用標(biāo)識符。



    FILENAME


    指定操作系統(tǒng)中的文件名。當(dāng)和 MODIFY FILE一起使用時,只能對 tempdb 數(shù)據(jù)庫中的文件指定 FILENAME。新 tempdb 文件名只有在 SQL Server 停止并重新啟動后才能生效。



    'os_file_name'


    由操作系統(tǒng)使用的文件的路徑和文件名。該文件必須駐留在安裝 SQL Server 的服務(wù)器上。數(shù)據(jù)文件和日志文件不應(yīng)置于壓縮的文件系統(tǒng)中。

    如果文件位于原始分區(qū)上,那么 os_file_name 必須僅指定該原始分區(qū)的驅(qū)動器字母。每個原始分區(qū)上只能存放一個文件。原始分區(qū)上的文件不會自動增長;因此,os_file_name 指定原始分區(qū)時,不需要指定 MAXSIZE 和 FILEGROWTH 參數(shù)。




    SIZE


    指定文件大小。



    size


    是文件的大小。后綴 KB、MB、GB 和 TB 可用于指定千字節(jié)、兆字節(jié)、千兆字節(jié)或兆兆字節(jié)。默認值為 MB。指定一個整數(shù),不要包含小數(shù)位。size 的最小值是 512 KB,如果 size 未指定,默認值是 1 MB。當(dāng)隨 ADD FILE 一起指定時,size 是文件的初始大小。當(dāng)隨 MODIFY FILE 一起指定時,size 是文件的新大小,而且必須大于文件的當(dāng)前大小。



    MAXSIZE


    指定最大的文件大小。



    max_size


    是最大的文件大小。后綴 KB、MB、GB 和 TB 可用于指定千字節(jié)、兆字節(jié)、千兆字節(jié)或兆兆字節(jié)。默認值為 MB。指定一個整數(shù),不要包含小數(shù)位。如果沒有指定 max_size,那么文件大小將一直增長,直至磁盤填滿為止。當(dāng)磁盤即將填滿時,Microsoft Windows NT® 應(yīng)用程序日志將向管理員發(fā)出警告。



    UNLIMITED


    指定文件大小可一直增加直至磁盤已滿。



    FILEGROWTH


    指定文件增長的增量。



    growth_increment


    每次需要新的空間時為文件添加的空間大小。值為 0 表示不增長。該值可按 MB、KB 或 % 的形式指定。指定一個整數(shù),不要包含小數(shù)位。如果指定了 %,那么文件增量為文件發(fā)生增長時文件大小的指定百分比。如果未在數(shù)量后面指定 MB、KB 或 %,則默認值為 MB。如果 FILEGROWTH 未指定,默認值為 10%,且最小值為 64 KB。指定的大小舍入為最接近的 64 KB 的倍數(shù)。



    <state_option>



    控制用戶對數(shù)據(jù)庫的訪問,數(shù)據(jù)庫是否處于聯(lián)機狀態(tài),以及是否允許寫操作。


    SINGLE_USER | RESTRICTED_USER | MULTI_USER


    控制哪些用戶可以訪問數(shù)據(jù)庫。如果指定為 SINGLE_USER,那么同一時間只能有一個用戶訪問數(shù)據(jù)庫。如果指定為 RESTRICTED_USER,那么只有 db_ownerdbcreatorsysadmin 角色的成員可以使用數(shù)據(jù)庫。MULTI_USER 使數(shù)據(jù)庫返回到正常操作狀態(tài)。



    OFFLINE | ONLINE


    控制數(shù)據(jù)庫是聯(lián)機還是脫機。



    READ_ONLY | READ_WRITE


    指定數(shù)據(jù)庫是否處于只讀模式。在只讀模式下,用戶可以從數(shù)據(jù)庫中讀取數(shù)據(jù),但不能修改數(shù)據(jù)。當(dāng)指定 READ_ONLY 時,數(shù)據(jù)庫不能處于使用狀態(tài)。master 數(shù)據(jù)庫是一個例外,當(dāng)該數(shù)據(jù)庫設(shè)置為 READ_ONLY 時,只有系統(tǒng)管理員才能使用該數(shù)據(jù)庫。READ_WRITE 使數(shù)據(jù)庫返回到讀寫操作狀態(tài)。



    <cursor_option>



    控制游標(biāo)選項。


    CURSOR_CLOSE_ON_COMMIT ON | OFF


    如果指定為 ON,在事務(wù)提交或回滾時所有打開的游標(biāo)都將關(guān)閉。如果指定為 OFF,那么在事務(wù)提交時打開的游標(biāo)仍保持打開;而回滾事務(wù)時關(guān)閉所有除定義為 INSENSITIVE 或 STATIC 之外的游標(biāo)。



    CURSOR_DEFAULTLOCAL | GLOBAL


    控制游標(biāo)作用域默認為 LOCAL 還是 GLOBAL。



    <auto_option>



    控制自動選項。


    AUTO_CLOSE ON | OFF


    如果指定為 ON,那么最后一個用戶退出后,數(shù)據(jù)庫將干凈地關(guān)閉,其占用的資源將釋放。如果指定為 OFF,那么最后一個用戶退出后數(shù)據(jù)庫仍保持打開。



    AUTO_CREATE_STATISTICS ON | OFF


    如果指定為 ON,那么所有優(yōu)化查詢需要但缺少的統(tǒng)計信息都會在查詢優(yōu)化時自動生成。



    AUTO_SHRINK ON | OFF


    如果指定為 ON,數(shù)據(jù)庫文件將定期自動收縮。



    AUTO_UPDATE_STATISTICS ON | OFF


    如果指定為 ON,所有查詢優(yōu)化所需的過時的統(tǒng)計信息在都將在優(yōu)化時自動重建。如果指定為 OFF,統(tǒng)計信息必須手工更新。



    <sql_option>



    控制 ANSI 遵從性選項。


    ANSI_NULL_DEFAULT ON | OFF


    如果指定為 ON,CREATE TABLE 在確定列是否允許空值時遵從 SQL-92 規(guī)則。



    ANSI_NULLS ON | OFF


    如果指定為 ON,所有與空值的比較運算結(jié)果為 UNKNOWN。如果指定為 OFF,非 UNICODE 值與空值的比較運算在兩者均為 NULL 時結(jié)果為 TRUE。



    ANSI_PADDING ON | OFF


    如果指定為 ON,在比較或插入前,字符串將填充為同一長度。如果指定為 OFF,字符串將不填充。



    ANSI_WARNINGS ON | OFF


    如果指定為 ON,當(dāng)出現(xiàn)諸如被零除的情況時將產(chǎn)生錯誤或警告。



    ARITHABORT ON | OFF


    如果指定為 ON,在執(zhí)行查詢時如果發(fā)生溢出或被零除,該查詢將終止。



    CONCAT_NULL_YIELDS_NULL ON | OFF


    如果指定為 ON,當(dāng)串聯(lián)操作的兩個操作數(shù)中任意一個為 NULL 時,結(jié)果也為 NULL。如果指定為 OFF,空值將按空字符串對待。默認設(shè)置為 OFF。



    QUOTED_IDENTIFIER ON | OFF


    如果指定為 ON,雙引號將可用于包含定界標(biāo)識符。



    NUMERIC_ROUNDABORT ON | OFF


    如果指定為 ON,當(dāng)表達式中出現(xiàn)精度損失時將產(chǎn)生錯誤。



    RECURSIVE_TRIGGERS ON | OFF


    如果指定為 ON,將允許遞歸激發(fā)觸發(fā)器。RECURSIVE_TRIGGERS OFF(默認值)只禁止直接遞歸。若要也禁用間接遞歸,請使用 sp_configurenested triggers 服務(wù)器選項設(shè)置為 0。



    <recovery_options>



    控制數(shù)據(jù)庫恢復(fù)選項。


    RECOVERY FULL | BULK_LOGGED | SIMPLE


    如果指定為 FULL,系統(tǒng)將對介質(zhì)錯誤提供完全保護。如果數(shù)據(jù)文件損壞,介質(zhì)恢復(fù)可以還原所有已提交的事務(wù)。

    如果指定為 BULK_LOGGED,將在介質(zhì)錯誤保護程度與某些大規(guī)?;虼笕萘坎僮鞯淖顑?yōu)性能及日志存儲空間最少占用量之間進行權(quán)衡。這些操作包括 SELECT INTO、大容量裝載操作(bcp 和 BULK INSERT)、CREATE INDEX 以及文本和圖象操作(WRITETEXT 和 UPDATETEXT)。



    在大容量日志記錄恢復(fù)模型下,對整個類只做最少的日志記錄,并且無法逐個操作地控制日志記錄行為。



    如果指定為 SIMPLE,系統(tǒng)將提供占用日志空間最小的備份策略。服務(wù)器故障恢復(fù)不再需要的日志空間可被自動重用。



    重要  簡單恢復(fù)模型比其它兩種模型更容易管理,但數(shù)據(jù)文件損壞時造成數(shù)據(jù)丟失的可能性更大。最近的數(shù)據(jù)庫備份或差異數(shù)據(jù)庫備份之后的更改都將丟失,必須手工重新輸入。




    默認恢復(fù)模型由 model 數(shù)據(jù)庫的恢復(fù)模型確定。若要更改新數(shù)據(jù)庫的默認值,請用 ALTER DATABASE 設(shè)置 model 數(shù)據(jù)庫的恢復(fù)選項。





    TORN_PAGE_DETECTION ON | OFF


    如果指定為 ON,將可以檢測到未完成的頁。默認設(shè)置為 ON。



    注釋


    若要刪除數(shù)據(jù)庫,請使用 DROP DATABASE 語句。若要更改數(shù)據(jù)庫名稱,請使用 sp_renamedb。有關(guān)減小數(shù)據(jù)庫大小的更多信息,請參見 DBCC SHRINKDATABASE。



    在對數(shù)據(jù)庫應(yīng)用不同的或新的排序規(guī)則時,應(yīng)確保符合以下條件:


    1. 您是當(dāng)前數(shù)據(jù)庫的唯一用戶。



    2. 沒有依賴數(shù)據(jù)庫排序規(guī)則的架構(gòu)綁定對象。

      如果數(shù)據(jù)庫中存在以下依賴數(shù)據(jù)庫排序規(guī)則的對象,則 ALTER DATABASE database COLLATE 語句將失敗。SQL Server 將針對每一個阻塞 ALTER 操作的對象返回一個錯誤信息:



      • 通過 SCHEMABINDING 創(chuàng)建的用戶定義函數(shù)和視圖。



      • 計算列。



      • CHECK 約束。



      • 表值函數(shù)返回包含字符列的表,這些列繼承了默認的數(shù)據(jù)庫排序規(guī)則。




    3. 改變數(shù)據(jù)庫的排序規(guī)則不會在任何數(shù)據(jù)對象的系統(tǒng)名稱中產(chǎn)生重復(fù)名稱。

      如果改變排序規(guī)則后出現(xiàn)重復(fù)的名稱,則下列命名空間可能導(dǎo)致改變數(shù)據(jù)庫排序規(guī)則的操作失?。?/P>


      • 對象名(如過程、表、觸發(fā)器或視圖)。



      • 架構(gòu)名(如組、角色或用戶)。



      • 標(biāo)量類型名(如系統(tǒng)和用戶定義類型)。



      • 全文目錄名稱。



      • 對象內(nèi)的列名或參數(shù)名。



      • 表范圍內(nèi)的索引名。



      由新的排序規(guī)則產(chǎn)生的重復(fù)名稱將導(dǎo)致改變操作失敗,SQL Server 將返回錯誤信息,指出重復(fù)名稱所在的命名空間。




    當(dāng) BACKUP 語句正在執(zhí)行時,不能添加或刪除文件。



    若要在 size 參數(shù)中指定兆字節(jié)的分數(shù),應(yīng)通過乘以數(shù)字 1024 將該值轉(zhuǎn)換為千字節(jié)。例如,應(yīng)指定 1536 KB 而不是 1.5MB(1.5 x 1024 = 1536)。



    權(quán)限


    ALTER DATABASE 權(quán)限默認授予 sysadmindbcreator 固定服務(wù)器角色成員以及 db_owner 固定數(shù)據(jù)庫角色成員。這些權(quán)限是不可傳遞的。



    示例


    A. 向數(shù)據(jù)庫中添加文件


    下例創(chuàng)建數(shù)據(jù)庫,并更改該數(shù)據(jù)庫以添加一個 5 MB 大小的新數(shù)據(jù)文件。



    USE master
    GO
    CREATE DATABASE Test1 ON
    (
    NAME = Test1dat1,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
    )
    GO
    ALTER DATABASE Test1
    ADD FILE
    (
    NAME = Test1dat2,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
    )
    GO


    B. 向數(shù)據(jù)庫中添加由兩個文件組成的文件組


    下例在示例 A 中所創(chuàng)建的 Test1 數(shù)據(jù)庫中創(chuàng)建一個文件組,并將兩個 5 MB 的文件添加到該文件組。然后下例將 Test1FG1 設(shè)置為默認文件組。



    USE master
    GO
    ALTER DATABASE Test1
    ADD FILEGROUP Test1FG1
    GO

    ALTER DATABASE Test1
    ADD FILE
    ( NAME = test1dat3,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat3.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB),
    ( NAME = test1dat4,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat4.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB)
    TO FILEGROUP Test1FG1

    ALTER DATABASE Test1
    MODIFY FILEGROUP Test1FG1 DEFAULT
    GO


    C. 向數(shù)據(jù)庫中添加兩個日志文件


    下例向數(shù)據(jù)庫中添加兩個 5 MB 大小的日志文件。



    USE master
    GO
    ALTER DATABASE Test1
    ADD LOG FILE
    ( NAME = test1log2,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test2log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB),
    ( NAME = test1log3,
    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test3log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB)
    GO


    D. 從數(shù)據(jù)庫中刪除文件


    下例將示例 B 中添加到數(shù)據(jù)庫 Test1 中的一個文件刪除。



    USE master
    GO
    ALTER DATABASE Test1
    REMOVE FILE test1dat4
    GO


    E. 更改文件


    下例將示例 B 中添加到數(shù)據(jù)庫 Test1 中的一個文件增加大小。



    USE master
    GO
    ALTER DATABASE Test1
    MODIFY FILE
      (NAME = test1dat3,
      SIZE = 20MB)
    GO


    F. 將主文件組設(shè)置為默認文件組


    假定原來另一個文件組設(shè)置為默認文件組,下例將主文件組設(shè)置為默認文件組。



    USE master
    GO
    ALTER DATABASE MyDatabase
    MODIFY FILEGROUP [PRIMARY] DEFAULT
    GO
    相關(guān)文章
    本頁查看次數(shù):