sqlserver中通過t-sql的資料庫操作
sqlserver中的三種資料檔案格式
*.mdf -- 主資料庫檔案(乙個資料庫只能有乙個)
*.ndf -- 輔資料庫檔案(0-n個)
*.ldf -- 日誌檔案(至少乙個)
備份sql server
use master
exec sp_addumpdevice 'disk', 'testback', 'c:\mssql7backup\mynwind_1.dat'
開始備份
backup database pubs to testback
建立資料庫
create database database_name
[on [primary] [[,…n] [,[,…n]] ]
[log on ]
[for restore]
::=([name=logical_file_name,]
filename='os_file_name'
[,size=size]
[,maxsize=]
[,filegrowth=growth_increment] ) [,…n]
::=filegroup filegroup_name [,…n]
引數說明:(中括號內為可選,不加則使用預設值)
database_name:資料庫的名稱,最長為128個字元。
primary:該選項是乙個關鍵字,指定主檔案組中的檔案。
log on:指明事務日誌檔案的明確定義。
name:指定資料庫的邏輯名稱,這是在sql server系統中使用的名稱,是資料庫在sql server中的識別符號。
filename:指定資料庫所在檔案的作業系統檔名稱和路徑,該作業系統檔名和name的邏輯名稱一一對應。
size:指定資料庫的初始容量大小。
maxsize:指定作業系統檔案可以增長到的最大尺寸。
filegrowth:指定檔案每次增加容量的大小,當指定資料為0時,表示檔案不增長。
例如:(注意,e:\data目錄一定要存在)
一、主,輔資料檔案
create database jadge
on primary(
name = 'jadge',
filename = 'e:\data\jadge.mdf',
size = 1mb,
maxsize = 10mb,
filegrowth = 10%
) ,(
name = 'jadge_d',
filename = 'e:\data\jadge_d.ndf',
size = 1,
maxsize = unlimited, --unlimited表示不限大小
filegrowth = 1mb
) log on(
name = 'jadge_log',
filename = 'e:\data\jadge_log.ldf',
size = 1,
maxsize = 5,
filegrowth = 1
) go
二、檔案組
create database jadge
on primary(
name = 'jadge',
filename = 'e:\data\jadge.mdf',
size = 3mb,
maxsize = 10mb,
filegrowth = 1
) ,filegroup jadge_nd(
name = 'jadge_db1',
filename = 'e:\data\jadge_db1.ndf',
size = 4,
maxsize = 20,
filegrowth = 20%
) ,(
name = 'jadge_db2',
filename = 'e:\data\jadge_db2.ndf',
size = 4,
maxsize = 20,
filegrowth = 20%
) log on(
name = 'jadge_lg',
filename = 'e:\data\jadge_lg.log',
size = 2mb,
maxsize = 10mb,
filegrowth = 10%
) go
刪除資料庫
drop database database_name[,…n]
例如:
drop database jadge
修改資料庫
alter database databasename
} 引數說明:
add file[,…n] [to filegroup filegroupname]:表示向指定的檔案組中新增新的資料檔案。
add log file [,…n]:增加新的日誌檔案。
remove file logical_file_name:刪除指定的作業系統檔案。
remove filegroup filegroup_name:刪除指定的檔案組。
modify file :修改某個作業系統檔案。
modify name=new_databasename:重新命名資料庫。
add filegroup filegroup_name:增加乙個檔案組。
modify filegroup filegroup_name:修改某個指定檔案組的屬性。
例如:
#新增乙個檔案到檔案組
alter database jadge
add file(
name = 'jadge_db2',
filename = 'e:\data\base\jadge_db1',
size = 2,
maxsize = 15,
filegrowth = 1
) to filegroup jadge_nd
go #新增日誌檔案
alter database dd
add log file(
name = 'anlog',
filename = 'e:\anlog.ldf',
size = 2,
maxsize = 8,
filegrowth = 1
) #其他與上面的類似,這裡就不舉例了。
#注 刪除檔案組時,必須先將其清空
幾個sql server中常用的儲存過程,注意使用時加exec
sp_help 資料庫物件名稱
報告有關資料庫物件(sysobjects 表中列出的任何物件)、使用者定義資料型別或 microsoft? sql server? 所提供的資料型別的資訊
sp_helptext 檢視(觸發器、儲存過程)
顯示規則、預設值、未加密的儲存過程、使用者定義函式、觸發器或檢視的文字。 顯示有關資料庫物件相關性的資訊(例如,依賴表或檢視的檢視和過程,以及檢視或過程所依賴的表和檢視)
sp_depends 資料庫物件名稱
sp_helpindex [@objname=] 'name' --使用系統儲存過程檢視索引資訊
SQL Server資料庫效能優化(1)T SQL
1.select 語句的效能 1 只查詢需要的字段,避免使用select 只查詢需要的字段,可以避免許多不必要的io。減少欄位的輸出,可以更有效地利用覆蓋索引。2 限定查詢結果集的數量。使用top字句等限制結果集的大小,可以避免批量資料的操作,並且有效地使用索引,防止掃瞄操作帶來的大量io和記憶體的...
在SQL Server中通過SQL語句實現分頁查詢
建立表 create table testtable id int identity 1,1 not null firstname nvarchar 100 collate chinese prc ci as null lastname nvarchar 100 collate chinese pr...
通過osql連線sqlserver
sqlserver2000查詢分析器只支援64k指令碼,所以一般通過insert匯入資料的.sql指令碼就根本是不可能的事了,通過搜尋發現可以通過 osql命令連線指令碼檔案並且執行指令碼。用法 osql u 登入 id p 密碼 s 伺服器 h 主機名 e 可信連線 d 使用資料庫名稱 l 登入超...