㈠ sql server 2000 怎麼進入命令行
使用命令提示符下的 ISQL 或OSQL,兩個命令基本一致,圖為ISQL詳細參數
㈡ sql server 2000資料庫備份命令
第一:那就用所有任務中的「備份」 打開企業管理器,找到要備份的資料庫 然後右擊選擇「所有任務」---> 選擇「備份」 然後選擇「資料庫---完全」。
目的: 點擊「添加」選擇一下要備份的路徑(要提前在選擇路徑下建立一個.bak文件), 把下面的調度勾上 選擇一下 備份的時間。
第二:企業管理器--管理--資料庫維護計劃 可以對一個或多個資料庫作定時或者間隔多長時間的備份 ,也可以刪除幾周之前的備份數據。
㈢ sql server 2000 如何逐行執行命令
選中語句再執行就是了
或者可以使用osql連接sql server 2000,逐行輸入語句,想執行時輸入go語句
㈣ 命令符中啟動SQL2000啟動和停止操作
1. 開始->管理工具->服務,或 開始->運行->service.msc,打開服務管理器,雙擊打開SQLSERVER服務,看一下「服務名稱」,一般默認是mssqlserver(注意不是」顯示名稱")
2. 啟動/停止命令,比如第1步」服務名稱「查到的mssqlserver
啟動sql server
net start mssqlserver
暫停sql server
net pause mssqlserver
重新啟動暫停的sql server
net continue mssqlserver
停止sql server
net stop mssqlserver
㈤ sql server 2000 dos利用osql -i命令創建資料庫
創建文件夾,檢查資料庫,創建資料庫,都是正確的啊,沒錯啊!
注意下你的語句中有可能包含了unciode字元...這些字元是看不見的...
㈥ sql server2000基本用法
SQL Server 2000常用命令,語法使用方法
(1) 數據記錄篩選:
sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]" sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"
sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]" sql="select * from 數據表 where 欄位名 in ('值1','值2','值3')" sql="select * from 數據表 where 欄位名 between 值1 and 值2"
(2) 更新數據記錄:
sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
(3) 刪除數據記錄:
sql="delete from 數據表 where 條件表達式" sql="delete from 數據表" (將數據表所有記錄刪除)
(4) 添加數據記錄:
sql="insert into 數據表 (欄位1,欄位2,欄位3 …) values (值1,值2,值3 …)"sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)
(5) 數據記錄統計函數:
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計 MAX(欄位名) 取得一個表格欄最大的值 MIN(欄位名) 取得一個表格欄最小的值 SUM(欄位名) 把數據欄的值相加 引用以上函數的方法:
2
sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式" set rs=conn.excute(sql)
用 rs("別名") 獲取統的計值,其它函數運用同上。
(5) 數據表的建立和刪除:
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… ) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 數據表名稱 (永久性刪除一個數據表)
4. 記錄集對象的方法:
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄 2、更改表格
ALTER TABLE table_name
ADD COLUMN column_name DATATYPE
說明:增加一個欄位(沒有刪除某個欄位的語法。 ALTER TABLE table_name
ADD PRIMARY KEY (column_name)
說明:更改表得的定義把某個欄位設為主鍵。 ALTER TABLE table_name
DROP PRIMARY KEY (column_name) 說明:把主鍵的定義刪除。
3、建立索引
CREATE INDEX index_name ON table_name (column_name) 說明:對某個表格的欄位建立索引以增加查詢時的速度。 4、刪除
DROP table_name DROP index_name
二、的資料形態 DATATYPEs smallint
16 位元的整數。
3
interger
32 位元的整數。 decimal(p,s)
p 精確值和 s 大小的十進位整數,精確值p是指全部有幾個數(digits)大小值,s是指小數
點後有幾位數。如果沒有特別指定,則系統會設為 p=5; s=0 。 float
32位元的實數。 double
64位元的實數。 char(n)
n 長度的字串,n不能超過 254。 varchar(n)
長度不固定且其最大長度為 n 的字串,n不能超過 4000。 graphic(n)
和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127。這個形態是為
了支援兩個字元長度的字體,例如中文字。 vargraphic(n)
可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。 date
包含了 年份、月份、日期。 time
包含了 小時、分鍾、秒。 timestamp
包含了 年、月、日、時、分、秒、千分之一秒。
三、資料操作 DML (Data Manipulation Language)
資料定義好之後接下來的就是資料的操作。資料的操作不外乎增加資料(insert)、查詢資料(query)、更改資料(update) 、刪除資料(delete)四種模式,以下分別介紹他們的語法:
1、增加資料:
INSERT INTO table_name (column1,column2,...) valueS ( value1,value2, ...) 說明:
1.若沒有指定column 系統則會按表格內的欄位順序填入資料。 2.欄位的資料形態和所填入的資料必須吻合。 3.table_name 也可以是景觀 view_name。
INSERT INTO table_name (column1,column2,...) SELECT columnx,columny,... FROM another_table
說明:也可以經過一個子查詢(subquery)把別的表格的資料填入。
4
2、查詢資料: 基本查詢
SELECT column1,columns2,... FROM table_name
說明:把table_name 的特定欄位資料全部列出來 SELECT *
FROM table_name
WHERE column1 = xxx
[AND column2 > yyy] [OR column3 <> zzz] 三)交叉連接
交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數
據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。
例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等 於6*8=48行。
SELECT type,pub_name
FROM titles CROSS JOIN publishers ORDER BY type
UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合並成一個結果集合顯示,即執行聯合查詢。UNION的語法格式為: select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
其中selectstatement為待聯合的SELECT查詢語句。
ALL選項表示將所有行合並到結果集合中。不指定該項時,被聯合查詢結果集合中的重復行將只保留一 行。
聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。因此,要定義列標題必須在第一個查詢語
句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。
在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,並且每個查詢選
擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對於數值類
型,系統將低精度的數據類型轉換為高精度的數據類型。
在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括弧可以改變這一
5
執行順序。例如:
查詢1 UNION (查詢2 UNION 查詢3)
INSERT語句
用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句: INSERT INTO EMPLOYEES valueS ('Smith','John','1980-06-10', 'Los Angles',16,45000);
通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。這些列按照我們創建表時定義的順序排列。在本例中,第一個值「Smith」將填到第一個列LAST_NAME中;第二個值「John」將填到第二列FIRST_NAME中……以此類推。 我們說過系統會「試著」將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字元串填入到類型為數字的列中),系統將拒絕這一次操作並返回一個錯誤信息。
如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。一次事務將資料庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。
回到原來的INSERT的例子,請注意所有的整形十進制數都不需要用單引號引起來,而字元串和日期類型的值都要用單引號來區別。為了增加可讀性而在數字間插入逗號將會引起錯誤。記住,在SQL中逗號是元素的分隔符。
㈦ SQL server 2000命令
SQL2000常用命令2008年05月26日 星期一 11:341. 查看資料庫的版本
select @@version
常見的幾種SQL SERVER打補丁後的版本號:
8.00.194 Microsoft SQL Server 2000
8.00.384 Microsoft SQL Server 2000 SP1
8.00.532 Microsoft SQL Server 2000 SP2
8.00.760 Microsoft SQL Server 2000 SP3
8.00.818 Microsoft SQL Server 2000 SP3 w/ Cumulative Patch MS03-031
8.00.2039 Microsoft SQL Server 2000 SP4
2. 查看資料庫所在機器操作系統參數
exec master..xp_msver
3. 查看資料庫啟動的參數
sp_configure
4. 查看資料庫啟動時間
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看資料庫伺服器名和實例名
print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)
5. 查看所有資料庫名稱及大小
sp_helpdb
重命名資料庫用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有資料庫用戶登錄信息
sp_helplogins
查看所有資料庫用戶所屬的角色信息
sp_helpsrvrolemember
修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
更改某個數據對象的用戶屬主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意: 更改對象名的任一部分都可能破壞腳本和存儲過程。
把一台伺服器上的資料庫用戶登錄信息備份出來可以用add_login_to_aserver腳本
查看某資料庫下,對象級用戶許可權
sp_helprotect
7. 查看鏈接伺服器
sp_helplinkedsrvlogin
查看遠端資料庫用戶登錄信息
sp_helpremotelogin
8.查看某資料庫下某個數據對象的大小
sp_spaceused @objname
還可以用sp_toptables過程看最大的N(默認為50)個表
查看某資料庫下某個數據對象的索引信息
sp_helpindex @objname
還可以用SP_NChelpindex過程查看更詳細的索引情況
SP_NChelpindex @objname
clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。
查看某資料庫下某個數據對象的的約束信息
sp_helpconstraint @objname
9.查看資料庫里所有的存儲過程和函數
use @database_name
sp_stored_proceres
查看存儲過程和函數的源代碼
sp_helptext '@procere_name'
查看包含某個字元串@str的數據對象名稱
select distinct object_name(id) from syscomments where text like '%@str%'
創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數
解密加密過的存儲過程和函數可以用sp_decrypt過程
10.查看資料庫里用戶和進程的信息
sp_who
查看SQL Server資料庫里的活動用戶和進程的信息
sp_who 'active'
查看SQL Server資料庫里的鎖的情況
sp_lock
進程號1--50是SQL Server系統內部用的,進程號大於50的才是用戶的連接進程.
spid是進程編號,dbid是資料庫編號,objid是數據對象編號
查看進程正在執行的SQL語句
dbcc inputbuffer ()
推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
sp_who3
檢查死鎖用sp_who_lock過程
sp_who_lock
11.查看和收縮資料庫日誌文件的方法
查看所有資料庫日誌文件大小
dbcc sqlperf(logspace)
如果某些日誌文件較大,收縮簡單恢復模式資料庫日誌,收縮後@database_name_log的大小單位為M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 語句的方法:
set statistics time {on | off}
set statistics io {on | off}
圖形方式顯示查詢執行計劃
在查詢分析器->查詢->顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形
文本方式顯示查詢執行計劃
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復資料庫的方法
先注釋掉應用程序里引用的出現不一致性錯誤的表,然後在備份或其它機器上先恢復然後做修復操作
alter database [@error_database_name] set single_user
修復出現不一致錯誤的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可惜選擇修復出現不一致錯誤的小型資料庫名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3個參數:
repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
如果回滾修復,則資料庫仍會含有錯誤,應該從備份進行恢復。
如果由於所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決於該修復的修復。
修復完成後,請備份資料庫。
repair_rest 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
這些修復可以很快完成,並且不會有丟失數據的危險。
repair_rebuild 執行由 repair_rest 完成的所有修復,包括需要較長時間的修復(如重建索引)。
執行這些修復時不會有丟失數據的危險。
14.察看錶的約束
sp_helpconstraint tablename
sp_help tablename --察看錶結構,索引,約束等
15.添加用戶
sp_addlogin loginname
16.更改用戶連接後的默認資料庫
sp_defaultdb loginname,tablename
17.察看當前資料庫中的對象
select * from sysobjects where xtype='U'
xtype可以是:
xtype char(2) 對象類型。可以是下列對象類型中的一種:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
L = 日誌
FN = 標量函數
IF = 內嵌表函數
P = 存儲過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
UQ = UNIQUE 約束(類型是 K)
V = 視圖
X = 擴展存儲過程
18.為已存在的列添加默認值約束
alter table tableName add constraint [constraintName] default {expression|(0)} for columnName
19.為已存在的列添加主鍵
alter table tableName add constraint [constraintName] primary key (columnName)
20.返回與當前資料庫關聯的文件的物理名稱及特性
sp_helpfile
21.察看約束所對應的表名
select * from sysobjects where id=(select parent_obj from sysobjects where name='constraintName')
parent_obj:父對象的對象標識號(例如,對於觸發器或約束,該標識號為表 ID)
參考:http://hi..com/activezfj/blog/item/63117331b9fac81ceac4afec.html
㈧ SQL SERVER 2000命令問題哪裡錯了
create table 客戶
(客戶名稱 varchar(10) PRIMARY KEY,
聯系方式 char(20) not null,
地址 char(50) not null,
業務聯系記錄 char(100) not null--這里你多了個,)
insert into dbo.轎車(欄位名1,欄位名2,欄位名3,欄位名4,欄位名5,欄位名6) values(1010,'Lexus','黑色','美國吉普',1000000,'2012-1-10')
㈨ BT滲透sqlserver2000的命令
(1) 數據記錄篩選:
sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]"
sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"
sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]"
sql="select * from 數據表 where 欄位名 in ('值1','值2','值3')"
sql="select * from 數據表 where 欄位名 between 值1 and 值2"
(2) 更新數據記錄:
sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
(3) 刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)