<ul id="emoyq"></ul>
  • 
    
  • <menu id="emoyq"><em id="emoyq"></em></menu>
  • <rt id="emoyq"><dl id="emoyq"></dl></rt>
    
    <tbody id="emoyq"></tbody>
  • SQL Server 2000常用命令,語法使用方法

    2013/2/6 17:34:421482 閱讀

      (1) 數(shù)據(jù)記錄篩選:

      sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]"
      sql="select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]"
      sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]"
      sql="select * from 數(shù)據(jù)表 where 字段名 in ('值1','值2','值3')"
      sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2"

      (2) 更新數(shù)據(jù)記錄:

      sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式"
      sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達(dá)式"

      (3) 刪除數(shù)據(jù)記錄:

      sql="delete from 數(shù)據(jù)表 where 條件表達(dá)式"
      sql="delete from 數(shù)據(jù)表" (將數(shù)據(jù)表所有記錄刪除)

      (4) 添加數(shù)據(jù)記錄:

      sql="insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
      sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表" (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)

      (5) 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù):

      AVG(字段名) 得出一個(gè)表格欄平均值
      COUNT(*|字段名) 對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì)
      MAX(字段名) 取得一個(gè)表格欄最大的值
      MIN(字段名) 取得一個(gè)表格欄最小的值
      SUM(字段名) 把數(shù)據(jù)欄的值相加

      引用以上函數(shù)的方法:

      sp_helpdb 查看數(shù)據(jù)庫

      go

      use

      數(shù)據(jù)庫名

      go

      select * from sysobjects where xtype='u' 查看數(shù)據(jù)庫中有什么數(shù)據(jù)表

      go

      sp_help 數(shù)據(jù)表名 查看數(shù)據(jù)表的結(jié)構(gòu)

      go

      sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式"

      set rs=conn.excute(sql)

      用 rs("別名") 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。

      (5) 數(shù)據(jù)表的建立和刪除:

      CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )

      例:CREATE TABLE tab01(name varchar(50),datetime default now())

      DROP TABLE 數(shù)據(jù)表名稱 (永久性刪除一個(gè)數(shù)據(jù)表)

      4. 記錄集對(duì)象的方法:

      rs.movenext 將記錄指針從當(dāng)前的位置向下移一行
      rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行
      rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行
      rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行
      rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行
      rs.absolutepage=N 將記錄指針移到第N頁的第一行
      rs.pagesize=N 設(shè)置每頁為N條記錄

      2、更改表格

      ALTER TABLE table_name

      ADD COLUMN column_name DATATYPE

      說明:增加一個(gè)欄位(沒有刪除某個(gè)欄位的語法。

      ALTER TABLE table_name

      ADD PRIMARY KEY (column_name)

      說明:更改表得的定義把某個(gè)欄位設(shè)為主鍵。

      ALTER TABLE table_name

      DROP PRIMARY KEY (column_name)

      說明:把主鍵的定義刪除。

      3、建立索引

      CREATE INDEX index_name ON table_name (column_name)

      說明:對(duì)某個(gè)表格的欄位建立索引以增加查詢時(shí)的速度。

      4、刪除

      DROP table_name

      DROP index_name

      二、的資料形態(tài) DATATYPEs

      smallint

      16 位元的整數(shù)。

      interger

      32 位元的整數(shù)。

      decimal(p,s)

      p 精確值和 s 大小的十進(jìn)位整數(shù),精確值p是指全部有幾個(gè)數(shù)(digits)大小值,s是指小數(shù)

      點(diǎn)後有幾位數(shù)。如果沒有特別指定,則系統(tǒng)會(huì)設(shè)為 p=5; s=0 。

      float

      32位元的實(shí)數(shù)。

      double

      64位元的實(shí)數(shù)。

      char(n)

      n 長度的字串,n不能超過 254。

      varchar(n)

      長度不固定且其最大長度為 n 的字串,n不能超過 4000。

      graphic(n)

      和 char(n) 一樣,不過其單位是兩個(gè)字元 double-bytes, n不能超過127。這個(gè)形態(tài)是為

      了支援兩個(gè)字元長度的字體,例如中文字。

      vargraphic(n)

      可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。

      date

      包含了 年份、月份、日期。

      time

      包含了 小時(shí)、分鐘、秒。

      timestamp

      包含了 年、月、日、時(shí)、分、秒、千分之一秒。

      三、資料操作 DML (Data Manipulation Language)

      資料定義好之後接下來的就是資料的操作。資料的操作不外乎增加資料(insert)、查詢資料(query)、更改資料(update) 、刪除資料(delete)四種模式,以下分 別介紹他們的語法:

      1、增加資料:

      INSERT INTO table_name (column1,column2,...)

      valueS ( value1,value2, ...)

      說明:

      1.若沒有指定column 系統(tǒng)則會(huì)按表格內(nèi)的欄位順序填入資料。

      2.欄位的資料形態(tài)和所填入的資料必須吻合。

      3.table_name 也可以是景觀 view_name。

      INSERT INTO table_name (column1,column2,...)

      SELECT columnx,columny,... FROM another_table

      說明:也可以經(jīng)過一個(gè)子查詢(subquery)把別的表格的資料填入。

      2、查詢資料:

      基本查詢

      SELECT column1,columns2,...

      FROM table_name

      說明:把table_name 的特定欄位資料全部列出來

      SELECT *

      FROM table_name

      WHERE column1 = xxx

      [AND column2 > yyy] [OR column3 <> zzz]

      三)交叉連接

      交叉連接不帶WHERE 子句,它返回被連接的兩個(gè)表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)

      據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)。

      例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數(shù)將等

      于6*8=48行。

      SELECT type,pub_name

      FROM titles CROSS JOIN publishers

      ORDER BY type

      UNION運(yùn)算符可以將兩個(gè)或兩個(gè)以上上SELECT語句的查詢結(jié)果集合合并成一個(gè)結(jié)果集合顯示,即執(zhí)行聯(lián)合查詢。UNION的語法格式為:

      select_statement

      UNION [ALL] selectstatement

      [UNION [ALL] selectstatement][…n]

      其中selectstatement為待聯(lián)合的SELECT查詢語句。

      ALL選項(xiàng)表示將所有行合并到結(jié)果集合中。不指定該項(xiàng)時(shí),被聯(lián)合查詢結(jié)果集合中的重復(fù)行將只保留一

      行。

      聯(lián)合查詢時(shí),查詢結(jié)果的列標(biāo)題為第一個(gè)查詢語句的列標(biāo)題。因此,要定義列標(biāo)題必須在第一個(gè)查詢語

      句中定義。要對(duì)聯(lián)合查詢結(jié)果排序時(shí),也必須使用第一查詢語句中的列名、列標(biāo)題或者列序號(hào)。

      在使用UNION 運(yùn)算符時(shí),應(yīng)保證每個(gè)聯(lián)合查詢語句的選擇列表中有相同數(shù)量的表達(dá)式,并且每個(gè)查詢選

      擇表達(dá)式應(yīng)具有相同的數(shù)據(jù)類型,或是可以自動(dòng)將它們轉(zhuǎn)換為相同的數(shù)據(jù)類型。在自動(dòng)轉(zhuǎn)換時(shí),對(duì)于數(shù)值類

      型,系統(tǒng)將低精度的數(shù)據(jù)類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。

      在包括多個(gè)查詢的UNION語句中,其執(zhí)行順序是自左至右,使用括號(hào)可以改變這一執(zhí)行順序。例如:

      查詢1 UNION (查詢2 UNION 查詢3)

      INSERT語句

      用戶可以用INSERT語句將一行記錄插入到指定的一個(gè)表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:

      INSERT INTO EMPLOYEES valueS

      ('Smith','John','1980-06-10',

      'Los Angles',16,45000);

      通過這樣的INSERT語句,系統(tǒng)將試著將這些值填入到相應(yīng)的列中。這些列按照我們創(chuàng)建表時(shí)定義的順序排列。在本例中,第一個(gè)值“Smith”將填到第一個(gè)列LAST_NAME中;第二個(gè)值“John”將填到第二列FIRST_NAME中……以此類推。

      我們說過系統(tǒng)會(huì)“試著”將值填入,除了執(zhí)行規(guī)則之外它還要進(jìn)行類型檢查。如果類型不符(如將一個(gè)字符串填入到類型為數(shù)字的列中),系統(tǒng)將拒絕這一次操作并返回一個(gè)錯(cuò)誤信息。

      如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會(huì)填入。這是因?yàn)镾QL提供對(duì)事務(wù)的支持。一次事務(wù)將數(shù)據(jù)庫從一種一致性轉(zhuǎn)移到另一種一致性。如果事務(wù)的某一部分失敗,則整個(gè)事務(wù)都會(huì)失敗,系統(tǒng)將會(huì)被恢復(fù)(或稱之為回退)到此事務(wù)之前的狀態(tài)。

      回到原來的INSERT的例子,請(qǐng)注意所有的整形十進(jìn)制數(shù)都不需要用單引號(hào)引起來,而字符串和日期類型的值都要用單引號(hào)來區(qū)別。為了增加可讀性而在數(shù)字間插入逗號(hào)將會(huì)引起錯(cuò)誤。記住,在SQL中逗號(hào)是元素的分隔符。

      同樣要注意輸入文字值時(shí)要使用單引號(hào)。雙引號(hào)用來封裝限界標(biāo)識(shí)符。

      對(duì)于日期類型,我們必須使用SQL標(biāo)準(zhǔn)日期格式(yyyy-mm-dd)



      --設(shè)置用戶訪問數(shù)據(jù)庫的形式 Alter database TestAA set SINGLE_USER with rollback immediate --設(shè)置單用戶訪問數(shù)據(jù)庫

      Alter database TestAA set RESTRICTED_USER with rollback immediate

      RESTRICTED_USER 只允許 db_owner 固定數(shù)據(jù)庫角色成員以及 dbcreator 和 sysadmin 固定服務(wù)器角色成員連接到數(shù)據(jù)庫,不過對(duì)連接數(shù)沒有限制。在 ALTER DATABASE 語句的終止子句所指定的時(shí)間范圍內(nèi),所有數(shù)據(jù)庫連接都將被斷開。在數(shù)據(jù)庫轉(zhuǎn)換到 RESTRICTED_USER 狀態(tài)后,不合格用戶所做的連接嘗試將被拒絕。

      Alter database TestAA set MULTI_USER with rollback immediate --設(shè)置用戶正常訪問

      --設(shè)置數(shù)據(jù)庫恢復(fù)模式

      sql 2008 不支持nolog 和 truncate_only 如果要截?cái)嗳罩镜脑挘枰劝褦?shù)據(jù)庫搞成簡單模型,然后在收縮日志,在改成完全模式。備份一次數(shù)據(jù)庫。

      Alter database set recovery {simple/full/bulk_logged}

      dbcc shrinkfile('filename',10)

      --導(dǎo)出數(shù)據(jù)到文本

      --EXEC master..xp_cmdshell 'bcp "Select cdoc_id,csubject from cmsdbquery..tbl_article" queryout c:\DT.txt -c -SXXXXX -Usa -PXXXXX'

      --跟蹤腳本需要打開的選項(xiàng)

      set statistics io on

      set statistics profile on

      set statistics time on

      --釋放過程高速緩存將導(dǎo)致重新編譯某些部分

      DBCC FREEPROCCACHE

      --從緩沖池中刪除所有清除緩沖區(qū)

      不用關(guān)閉和重啟服務(wù)器或者服務(wù)

      DBCC DROPCLEANBUFFERS

      --以報(bào)表形式顯示有關(guān)過程高速緩存的信息

      DBCC PROCCACHE

      --顯示指定表上的指定目標(biāo)的當(dāng)前分布統(tǒng)計(jì)信息

      DBCC SHOW_STATISTICS ( table , target )

      --從遠(yuǎn)程服務(wù)器打開數(shù)據(jù)庫連接取數(shù)據(jù)

      SELECT top 20 *

      FROM OPENDATASOURCE(

      'SQLOLEDB',

      'Data Source=xxx.xxx.xx.x,port;User ID=sa;Password=xxxxxxx'

      ).[product].dbo.tableaa

      data source 好像不能有中括號(hào),好多網(wǎng)友的opendatasource不能用就是這個(gè)原因

      SELECT *

      FROM OpenDataSource

      ('Microsoft.Jet.OLEDB.4.0',

      'Data Source="c:\bbb.xls";User ID=;Password=;Extended properties=Excel 5.0')...[sheet1$]

      文本的查詢

      文件必須是,號(hào)分割文件

      HDR=YES 的時(shí)候,第一行被認(rèn)為是字段名

      HDR=NO 的時(shí)候,第一行被認(rèn)為是數(shù)據(jù)

      select * from

      OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

      ,'Text;HDR=NO;DATABASE=C:\' --c:\是目錄

      ,aaa#txt) --文件名

      BULK INSERT xxxx_trs.dbo.xxxx_day

      FROM 'F:\BI_DsssDayAddin_cms_IN.csv'

      WITH

      (

      FIELDTERMINATOR =',',

      ROWTERMINATOR ='\n'

      )

      --查看sql版本

      SELECT SERVERPROPERTY('productversion'),SERVERPROPERTY('productlevel'),SERVERPROPERTY('edition')

      --初始化標(biāo)識(shí)列

      DBCC CHECKIDENT (ProductPicture, RESEED, 1)

      --數(shù)據(jù)庫2個(gè)比較常用的函數(shù)

      DATABASEPROPERTY 返回?cái)?shù)據(jù)庫狀態(tài)的值

      select DATABASEPROPERTY(dbname, 'issingleuser') 返回?cái)?shù)據(jù)庫是不是單用戶模式

      HAS_DBACCESS ( 'database_name' )

      返回信息,說明用戶是否可以訪問指定的數(shù)據(jù)庫

      --T終端用戶的人

      Query user 查詢當(dāng)前登錄用戶

      LogOff sessionid 注銷會(huì)話

      Tsdiscon sessionid 斷開某個(gè)會(huì)話的連接

      命令行下需要先建立一個(gè)ipc$會(huì)話

      net use \\10.168.0.21\c$ "XX" /user:administrator

      query user /server 10.168.0.21

      tsdiscon 2 /server 10.168.0.21

      創(chuàng)建與刪除SQL約束或字段約束。 SQL約束控制

      1)禁止所有表約束的SQL

      select'alter table '+name+' nocheck constraint all'from sysobjects where type='U'

      2)刪除所有表數(shù)據(jù)的SQL

      select'TRUNCATE TABLE '+name from sysobjects where type='U'

      3)恢復(fù)所有表約束的SQL

      select'alter table '+name+' check constraint all'from sysobjects where type='U'

      4)刪除某字段的約束

      declare@namevarchar(100)

      --DF為約束名稱前綴

      select@name=b.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault and a.name='字段名'and b.name like'DF%'

      --刪除約束

      altertable 表名 dropconstraint@name

      --為字段添加新默認(rèn)值和約束

      ALTERTABLE 表名 ADDCONSTRAINT@name DEFAULT (0) FOR[字段名] 對(duì)字段約束進(jìn)行更改

      --刪除約束

      ALTERTABLE tablename

      DropCONSTRAINT 約束名

      --修改表中已經(jīng)存在的列的屬性(不包括約束,但可以為主鍵或遞增或唯一)

      ALTERTABLE tablename

      altercolumn 列名 intnotnull

      --添加列的約束

      ALTERTABLE tablename

      ADDCONSTRAINT DF_tablename_列名 DEFAULT(0) FOR 列名

      --添加范圍約束

      altertable tablename add check(性別 in ('M','F'))







      創(chuàng)建一個(gè)庫

      CREATE DATABASE g2 ON PRIMARY

      ( NAME = 'g2', FILENAME = 'E:\benet\data1\g1.mdf' , SIZE = 307200KB , FILEGROWTH = 1024KB )

      LOG ON

      ( NAME = 'g2_log', FILENAME = 'E:\benet\data1\g1_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

      創(chuàng)建一個(gè)表

      CREATE TABLE biao2

      (

      id int NOT NULL,

      xingming char(10) NOT NULL,

      xingbie float(53) NOT NULL,

      nianling int NOT NULL,

      chengji float(53) NULL

      )

      查詢

      select * from biao1

      where chengji between 400 and 600

      select * from biao1

      where nianling like 55

      select * from biao1

      where nianling between 10 and 100

      select * from biao1

      where id = 5

      insert into biao1

      values (6 ,'原遲',1 , 100 , 1542.22)

      update biao1

      set chengji = chengji + 1000

      select * from biao1

      delete

      from biao1

      where id = 1

      select * from biao1

      select * from biao1 排序

      order by no asc

      update biao2

      set zongji = shuxue + yuwen + huaxue

      where xingming = 'a'

      insert into biao1

      values

      (7,'骨血松濤',1 , 700)

      select * from biao1

      where xingming like '%血%'

      select distinct xingbie from biao1

      alter table biao1

      drop column chengji 刪除一列

      alter table biao2

      add

      liehao int

      select * from biao1,biao2

      where biao1.id=biao2.id 將表一和表二聯(lián)系起來,建立主索引, 注意小數(shù)點(diǎn)的應(yīng)用

      select * from biao1

      inner join biao2

      on biao1.id=biao2.id 和上面的一樣

      查詢時(shí)間

      select * from biao2

      where riqi between '1993-01-01 00:00:00.000' and '1994-6-29 00:00:00.000'

      select xingming from biao2

      where bumen ='xiaoshou' and xingbie ='na'

      delete

      from biao2

      where xingming='jinpeng'

      select id ,xingming into biao2_backup

      from biao2

      where xingbie='na' 備份選擇的數(shù)據(jù)

      create view shitu as

      select xingming ,riqi

      from biao2

      where xingbie = 'na' 創(chuàng)建一個(gè)自己匹配的視圖

      視圖相當(dāng)于是一個(gè)符合你的目的的一個(gè)查詢結(jié)果集.

      他不占用空間,方便你以后的查找.

      多文件還原代碼

      ESTORE DATABASE [benet] FROM DISK = N'G:\bak\wz.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 10

      GO

      RESTORE DATABASE [benet] FROM DISK = N'G:\bak\cy.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10

      GO

      恢復(fù)數(shù)據(jù)庫 benet 來自文件 DISK = N'G:\bak\cy.bak' with 文件數(shù)1個(gè),

      NORECOVERY 指定不發(fā)生回滾。從而使前滾按順序在下一條語句中繼續(xù)進(jìn)行。

      在這種情況下,還原順序可還原其他備份,并執(zhí)行前滾。

      REPLACE覆蓋

      A. 還原完整數(shù)據(jù)庫

      注意:

      MyAdvWorks 數(shù)據(jù)庫僅供舉例說明。

      以下示例還原完整數(shù)據(jù)庫備份。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1

      注意:

      對(duì)于使用完全恢復(fù)模式或大容量日志恢復(fù)模式的數(shù)據(jù)庫,在大多數(shù)情況下,SQL Server 2005 都要求您在還原數(shù)據(jù)庫前備份日志尾部。有關(guān)詳細(xì)信息,請(qǐng)參閱尾日志備份。

      B. 還原完整數(shù)據(jù)庫備份和差異備份

      以下示例還原完整數(shù)據(jù)庫備份后還原差異備份。另外,以下示例還說明如何還原媒體上的另一個(gè)備份集。差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1

      WITH NORECOVERY

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1

      WITH FILE = 2

      C. 使用 RESTART 語法還原數(shù)據(jù)庫

      以下示例使用 RESTART 選項(xiàng)重新啟動(dòng)因服務(wù)器電源故障而中斷的 RESTORE 操作。

      復(fù)制代碼

      -- This database RESTORE halted prematurely due to power failure.

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1

      -- Here is the RESTORE RESTART operation.

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1 WITH RESTART

      D. 還原數(shù)據(jù)庫并移動(dòng)文件

      以下示例還原完整數(shù)據(jù)庫和事務(wù)日志,并將已還原的數(shù)據(jù)庫移動(dòng)到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目錄下。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1

      WITH NORECOVERY,

      MOVE 'MyAdvWorks' TO

      'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewAdvWorks.mdf',

      MOVE 'MyAdvWorksLog1'

      TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewAdvWorks.ldf'

      RESTORE LOG MyAdvWorks

      FROM MyAdvWorksLog1

      WITH RECOVERY

      E. 使用 BACKUP 和 RESTORE 創(chuàng)建數(shù)據(jù)庫的副本

      以下示例使用 BACKUP 和 RESTORE 語句創(chuàng)建 AdventureWorks 數(shù)據(jù)庫的副本。MOVE 語句使數(shù)據(jù)和日志文件還原到指定的位置。RESTORE FILELISTONLY 語句用于確定待還原數(shù)據(jù)庫內(nèi)的文件數(shù)及名稱。該數(shù)據(jù)庫的新副本稱為 TestDB。有關(guān)詳細(xì)信息,請(qǐng)參閱 RESTORE FILELISTONLY (Transact-SQL)。

      復(fù)制代碼

      BACKUP DATABASE AdventureWorks

      TO DISK = 'C:\AdventureWorks.bak'

      RESTORE FILELISTONLY

      FROM DISK = 'C:\AdventureWorks.bak'

      RESTORE DATABASE TestDB

      FROM DISK = 'C:\AdventureWorks.bak'

      WITH MOVE 'AdventureWorks_Data' TO 'C:\testdb.mdf',

      MOVE 'AdventureWorks_Log' TO 'C:\testdb.ldf'

      GO

      F. 使用 STOPAT 語法還原到時(shí)間點(diǎn)和使用多個(gè)設(shè)備進(jìn)行還原

      以下示例將數(shù)據(jù)庫還原到它在 2005 年 4 月 15 日中午 12 點(diǎn)時(shí)的狀態(tài),并顯示涉及多個(gè)日志和多個(gè)備份設(shè)備的還原操作。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FROM MyAdvWorks_1, MyAdvWorks_2

      WITH NORECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM'

      RESTORE LOG MyAdvWorks

      FROM MyAdvWorksLog1

      WITH NORECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM'

      RESTORE LOG MyAdvWorks

      FROM MyAdvWorksLog2

      WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM'

      G. 將事務(wù)日志還原到標(biāo)記

      以下示例將事務(wù)日志還原到名為 ListPriceUpdate 的標(biāo)記事務(wù)中的標(biāo)記處。

      復(fù)制代碼

      USE AdventureWorks

      GO

      BEGIN TRANSACTION ListPriceUpdate

      WITH MARK 'UPDATE Product list prices'

      GO

      UPDATE Production.Product

      SET ListPrice = ListPrice * 1.10

      WHERE ProductNumber LIKE 'BK-%'

      GO

      COMMIT TRANSACTION ListPriceUpdate

      GO

      -- Time passes. Regular database

      -- and log backups are taken.

      -- An error occurs.

      USE master

      GO

      RESTORE DATABASE AdventureWorks

      FROM AdvWorks1

      WITH FILE = 3, NORECOVERY

      GO

      RESTORE LOG AdventureWorks

      FROM AdvWorks1

      WITH FILE = 4,

      STOPATMARK = 'ListPriceUpdate'

      H. 使用 TAPE 語法還原

      以下示例從 TAPE 備份設(shè)備還原完整數(shù)據(jù)庫備份。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FROM TAPE = '\\.\tape0'

      I. 使用 FILE 和 FILEGROUP 語法還原

      以下示例還原一個(gè)包含兩個(gè)文件、一個(gè)文件組和一個(gè)事務(wù)日志的數(shù)據(jù)庫。

      復(fù)制代碼

      RESTORE DATABASE MyAdvWorks

      FILE = 'MyAdvWorks_data_1',

      FILE = 'MyAdvWorks_data_2',

      FILEGROUP = 'new_customers'

      FROM MyAdvWorks_1

      WITH NORECOVERY

      -- Restore the log backup.

      RESTORE LOG MyAdvWorks

      FROM MyAdvWorksLog1

      J. 恢復(fù)到數(shù)據(jù)庫快照

      以下示例將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)庫快照。此示例假定該數(shù)據(jù)庫當(dāng)前僅存在一個(gè)快照。有關(guān)創(chuàng)建此數(shù)據(jù)庫快照的示例,請(qǐng)參閱如何創(chuàng)建數(shù)據(jù)庫快照 (Transact-SQL)。

      注意:

      恢復(fù)到快照將刪除所有全文目錄。

      復(fù)制代碼

      USE master

      RESTORE DATABASE AdventureWorks FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';

      GO





      下一條:asp統(tǒng)計(jì)字符串中中文字符的個(gè)數(shù)

      上一條:asp替換空格正則表達(dá)式

    棗莊西橋網(wǎng)絡(luò)微信小程序微信小程序

    棗莊西橋網(wǎng)絡(luò)手機(jī)站二維碼掃描手機(jī)瀏覽

    色久高清无码在线视频,午夜性色福利在线视频网站,亚洲区精品久久一区二区三区,免费观看日本激色视频网站
    <ul id="emoyq"></ul>
  • 
    
  • <menu id="emoyq"><em id="emoyq"></em></menu>
  • <rt id="emoyq"><dl id="emoyq"></dl></rt>
    
    <tbody id="emoyq"></tbody>
  • 亚洲天堂看精品无码电影| 国内精品一区二区福利视频| 国产精品亚洲一区二区三区| 国产精品1区2区3区欧美| 日韩AV高清无码一二三区| 国产无码福利免费视频| 色欧美88888久久久久久影院| 午夜免费视频国产在线| 97超级碰碰碰人妻中文| 国产精品视频综合区| 成年无码av片在线| 久久精品中文字幕一区二区三区| 毛片网站视频播放不卡无码| 久久刺激国语露脸精品对白| 国产成人综合久久精品推荐| 亚洲 熟女 久久 国产| 亚洲视频免费看| 亚洲欧美一区二区三区中文字幕| 中文字幕乱码亚洲中文在线| 欧美国产激情一区综合| 国产高潮又爽又刺激视频| 日韩欧美在线观看视频| 制服丝袜欧美中文字幕在线| 动漫精品国产一区二区三区| 亚洲另类日本欧美专区| 一区二区三区日韩| 国产精品一级毛片不收费|