按F8打開"對(duì)象瀏覽器",然后隨便選中"對(duì)象瀏覽器"里的一個(gè)項(xiàng)目,按F5就會(huì)刷新數(shù)據(jù)庫(kù)、表等信息了。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的龍沙網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
注意:不要讓焦點(diǎn)在SQL語(yǔ)句編寫窗口中的時(shí)候按F5,那是執(zhí)行SQL語(yǔ)句。
示例,創(chuàng)建數(shù)據(jù)表stuinfo,有三個(gè)字段recno(自增),stuid,stuname:
CREATE TABLE [StuInfo] ([recno] [int] IDENTITY (1, 1) NOT NULL ,[stuid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,[stuname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL) ON [PRIMARY]GO
一、查某一列(或多列)的重復(fù)值。(只可以查出重復(fù)記錄的值,不能查出整個(gè)記錄的信息)
例如:查找stuid,stuname重復(fù)的記錄:
select stuid,stuname from stuinfogroup by stuid,stunamehaving(count(*))1
二、查某一列有重復(fù)值的記錄。(此方法查出的是所有重復(fù)的記錄,如果有兩條記錄重復(fù)的,就查出兩條)
例如:查找stuid重復(fù)的記錄:
select * from stuinfowhere stuid in (select stuid from stuinfogroup by stuidhaving(count(*))1)
三、查某一列有重復(fù)值的記錄。(只顯示多余的記錄,也就是說(shuō)如果有三條記錄重復(fù)的,就顯示兩條)
前提:需有一個(gè)不重復(fù)的列,此示例為recno。例如:查找stuid重復(fù)的記錄:
select * from stuinfo s1where recno not in (select max(recno) from stuinfo s2where s1.stuid=s2.stuid
SQL Server 數(shù)據(jù)庫(kù)采取預(yù)先分配空間的方法來(lái)建立數(shù)據(jù)庫(kù)的數(shù)據(jù)文件或者日志文件,比如數(shù)據(jù)文件的空間分配了300MB,而實(shí)際上只占用了20MB空間,這樣就會(huì)造成磁盤存儲(chǔ)空間的浪費(fèi)。可以通過(guò)數(shù)據(jù)庫(kù)收縮技術(shù)對(duì)數(shù)據(jù)庫(kù)中的每個(gè)文件進(jìn)行收縮,刪除已經(jīng)分配但沒(méi)有使用的頁(yè)。從而節(jié)省服務(wù)器的存儲(chǔ)的成本。
官方解釋:收縮數(shù)據(jù)文件通過(guò)將數(shù)據(jù)頁(yè)從文件末尾移動(dòng)到更靠近文件開頭的未占用的空間來(lái)恢復(fù)空間。在文件末尾創(chuàng)建足夠的可用空間后,可以取消對(duì)文件末尾的數(shù)據(jù)頁(yè)的分配并將它們返回給文件系統(tǒng)。
收縮后的數(shù)據(jù)庫(kù)不能小于數(shù)據(jù)庫(kù)最初創(chuàng)建時(shí)指定的大小。 或是上一次使用文件大小更改操作(如 DBCC SHRINKFILE)設(shè)置的顯式大小。
比如:如果數(shù)據(jù)庫(kù)最初創(chuàng)建時(shí)的大小為 10 MB,后來(lái)增長(zhǎng)到 100 MB,則該數(shù)據(jù)庫(kù)最小只能收縮到 10 MB,即使已經(jīng)刪除數(shù)據(jù)庫(kù)的所有數(shù)據(jù)也是如此。
不能在備份數(shù)據(jù)庫(kù)時(shí)收縮數(shù)據(jù)庫(kù)。 反之,也不能在數(shù)據(jù)庫(kù)執(zhí)行收縮操作時(shí)備份數(shù)據(jù)庫(kù)。
介紹:收縮指定數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件大小。
語(yǔ)法格式:
參數(shù)說(shuō)明:
介紹:收縮當(dāng)前數(shù)據(jù)庫(kù)的指定數(shù)據(jù)或日志文件的大小,或通過(guò)將數(shù)據(jù)從指定的文件移動(dòng)到相同文件組中的其他文件來(lái)清空文件,以允許從數(shù)據(jù)庫(kù)中刪除該文件。文件大小可以收縮到比創(chuàng)建該文件時(shí)所指定的大小更小。這樣會(huì)將最小文件大小重置為新值。
語(yǔ)法格式:
參數(shù)說(shuō)明:
例如,如果創(chuàng)建一個(gè)10MB 的文件,然后在文件仍然為空的時(shí)候?qū)⑽募湛s為2 MB,默認(rèn)文件大小將設(shè)置為2 MB。這只適用于永遠(yuǎn)不會(huì)包含數(shù)據(jù)的空文件。
另附SqlServer常見(jiàn)問(wèn)題解答
1)管理器不會(huì)主動(dòng)刷新,需要手工刷新一下才能看到最新?tīng)顟B(tài)(性能方面的考慮)
2)很少情況下,恢復(fù)進(jìn)程被掛起了。這個(gè)時(shí)候假設(shè)你要恢復(fù)并且回到可訪問(wèn)狀態(tài),要執(zhí)行:
RESTORE database dbname with recovery
這使得恢復(fù)過(guò)程能完全結(jié)束。
3)如果你要不斷恢復(fù)后面的日志文件,的確需要使數(shù)據(jù)庫(kù)處于“正在還原狀態(tài)”,
這通常是執(zhí)行下面命令:
RESTORE database dbname with norecovery
原來(lái)SQL Server對(duì)服務(wù)器內(nèi)存的使用策略是用多少內(nèi)存就占用多少內(nèi)存,只用在服務(wù)器內(nèi)存不足時(shí),才會(huì)釋放一點(diǎn)占用的內(nèi)存,所以SQL Server 服務(wù)器內(nèi)存往往會(huì)占用很高。我們可以通過(guò)DBCC MemoryStatus來(lái)查看內(nèi)存狀態(tài)。
SQL SERVER運(yùn)行時(shí)會(huì)執(zhí)行兩種緩存:
1. 數(shù)據(jù)緩存:執(zhí)行個(gè)查詢語(yǔ)句,SQL SERVER會(huì)將相關(guān)的數(shù)據(jù)頁(yè)(SQL SERVER操作的數(shù)據(jù)都是以頁(yè)為單位的)加載到內(nèi)存中來(lái), 下一次如果再次請(qǐng)求此頁(yè)的數(shù)據(jù)的時(shí)候,就無(wú)需讀取磁盤了,大大提高了速度。
2.執(zhí)行命令緩存:在執(zhí)行存儲(chǔ)過(guò)程,自定函數(shù)時(shí),SQL SERVER需要先二進(jìn)制編譯再運(yùn)行,編譯后的結(jié)果也會(huì)緩存起來(lái), 再次調(diào)用時(shí)就無(wú)需再次編譯。
可以調(diào)用以下幾個(gè)DBCC管理命令來(lái)清理這些緩存:
但是,這幾個(gè)命令雖然會(huì)清除掉現(xiàn)有緩存,為新的緩存騰地方,但是Sql server并不會(huì)因此釋放掉已經(jīng)占用的內(nèi)存。SQL SERVER并沒(méi)有提供任何命令允許我們釋放不用到的內(nèi)存。因此我們只能通過(guò)動(dòng)態(tài)調(diào)整SQL SERVER可用的物理內(nèi)存設(shè)置來(lái)強(qiáng)迫它釋放內(nèi)存。
解決SQLSERVER內(nèi)存占用過(guò)高的方法:
1、清除所有緩存DBCC DROPLEANBUFFERS
2、調(diào)整SQLSERVER可使用的最大服務(wù)器內(nèi)存。
在SQL管理器,右擊實(shí)例名稱
在屬性實(shí)例屬性里面找到內(nèi)存選項(xiàng)
把最大內(nèi)存改成合適的內(nèi)存,確定后內(nèi)存就會(huì)被強(qiáng)制釋放,然后重啟實(shí)例。再看看任務(wù)管理器,內(nèi)存使用率就降下來(lái)啦。
1、查看連接對(duì)象
USE master
GO
--如果要指定數(shù)據(jù)庫(kù)就把注釋去掉
SELECT * FROM sys.[sysprocesses] WHERE [spid]50 --AND DB_NAME([dbid])='gposdb'
當(dāng)前連接對(duì)象有67個(gè)其中‘WINAME’的主機(jī)名,‘jTDS’的進(jìn)程名不屬于已知常用軟件,找到這臺(tái)主機(jī)并解決連接問(wèn)題。在360流量防火墻中查看有哪個(gè)軟件連接了服務(wù)器IP,除之。
2、然后使用下面語(yǔ)句看一下各項(xiàng)指標(biāo)是否正常,是否有阻塞,正常情況下搜索結(jié)果應(yīng)該為空。
SELECT TOP 10
[session_id],
[request_id],
[start_time] AS '開始時(shí)間',
[status] AS '狀態(tài)',
[command] AS '命令',
dest.[text] AS 'sql語(yǔ)句',
DB_NAME([database_id]) AS '數(shù)據(jù)庫(kù)名',
[blocking_session_id] AS '正在阻塞其他會(huì)話的會(huì)話ID',
[wait_type] AS '等待資源類型',
[wait_time] AS '等待時(shí)間',
[wait_resource] AS '等待的資源',
[reads] AS '物理讀次數(shù)',
[writes] AS '寫次數(shù)',
[logical_reads] AS '邏輯讀次數(shù)',
[row_count] AS '返回結(jié)果行數(shù)'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]50 AND DB_NAME(der.[database_id])='gposdb'
ORDER BY [cpu_time] DESC
查看是哪些SQL語(yǔ)句占用較大可以使用下面代碼
--在SSMS里選擇以文本格式顯示結(jié)果
SELECT TOP 10
dest.[text] AS 'sql語(yǔ)句'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]50
ORDER BY [cpu_time] DESC
3、如果SQLSERVER存在要等待的資源,那么執(zhí)行下面語(yǔ)句就會(huì)顯示出會(huì)話中有多少個(gè)worker在等待
SELECT TOP 10
[session_id],
[request_id],
[start_time] AS '開始時(shí)間',
[status] AS '狀態(tài)',
[command] AS '命令',
dest.[text] AS 'sql語(yǔ)句',
DB_NAME([database_id]) AS '數(shù)據(jù)庫(kù)名',
[blocking_session_id] AS '正在阻塞其他會(huì)話的會(huì)話ID',
der.[wait_type] AS '等待資源類型',
[wait_time] AS '等待時(shí)間',
[wait_resource] AS '等待的資源',
[dows].[waiting_tasks_count] AS '當(dāng)前正在進(jìn)行等待的任務(wù)數(shù)',
[reads] AS '物理讀次數(shù)',
[writes] AS '寫次數(shù)',
[logical_reads] AS '邏輯讀次數(shù)',
[row_count] AS '返回結(jié)果行數(shù)'
FROM sys.[dm_exec_requests] AS der
INNER JOIN [sys].[dm_os_wait_stats] AS dows
ON der.[wait_type]=[dows].[wait_type]
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]50
ORDER BY [cpu_time] DESC;
4、查詢CPU占用最高的SQL語(yǔ)句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_offset/2 + 1,
(CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
END - statement_start_offset)/2)
FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC;
5、索引缺失查詢
SELECT
DatabaseName = DB_NAME(database_id)
,[Number Indexes Missing] = count(*)
FROM sys.dm_db_missing_index_details
GROUP BY DB_NAME(database_id)
ORDER BY 2 DESC;
SELECT TOP 10
[Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0)
, avg_user_impact
, TableName = statement
, [EqualityUsage] = equality_columns
, [InequalityUsage] = inequality_columns
, [Include Cloumns] = included_columns
FROM sys.dm_db_missing_index_groups g
INNER JOIN sys.dm_db_missing_index_group_stats s
ON s.group_handle = g.index_group_handle
INNER JOIN sys.dm_db_missing_index_details d
ON d.index_handle = g.index_handle
ORDER BY [Total Cost] DESC;
找到索引缺失的表,根據(jù)查詢結(jié)果中的關(guān)鍵次逐一建立索引。
命令刷新SQL server 中 數(shù)據(jù)庫(kù):
你提交正常的數(shù)據(jù)更新后,SQL server 中 數(shù)據(jù)庫(kù),也會(huì)自動(dòng)更新,在你想刷新的時(shí)候,重新讀取加載一次即可刷新,不需要你額外做什么。
網(wǎng)站標(biāo)題:刷新sqlserver,刷新路線
URL分享:http://chinadenli.net/article10/dsgdogo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)