1、首先從開始菜單著手,打開開始菜單欄,在菜單欄上找到我們已經安裝的SQL server 2008,單擊打開它。
『貳』 mysql 資料庫varchar可以存儲多少個漢字和多少個數字
首先要確定mysql版本,一般一個漢字2個位元組,50即可存25個漢字。
4.0版本以下,varchar(100),指的是100位元組,如果存放UTF8漢字時,只能存33個(每個漢字3位元組)
5.0版本以上,varchar(100),指的是100字元,無論存放的是數字、字母還是UTF8漢字(每個漢字3位元組),都可以存放100個。
varchar特點
1、使用比固定長度類型(char)佔用更少存儲空間(除了使用ROW_FORMAT=FIXED創建的MyISAM表)。
2、使用額外的1-2位元組來存儲值長度,列長度<=255使用1位元組保存,其它情況使用2位元組保存。例如varchar(10)會佔用11位元組存儲空間,varchar(500)會佔用502位元組存儲空間。
3、節約空間,所以性能會有幫助。在更新的時候會產生額外的工作。
以上內容參考:網路-varchar
『叄』 怎麼用c#代碼在sql中建立新的資料庫
說簡單點吧:
首先導入命名空間:using System.Data.SqlClient;
然後定義2個對象:
//1 建立連接對象
SqlConnection con=new SqlConnection();
//2 連接字元串(這里連接的是本地資料庫,sa用戶登陸,無密碼)
con.ConnectionString="server=.;uid=sa;pwd=;";
//3 建立命令執行對象
SqlCommand cmd=new SqlCommand();
//4 給命令執行對象指定連接對象
cmd.Connection=con;
//5 SQL語句(指定要創建資料庫的SQL句)
cmd.CommandText="create database mydatabase";
//6 打開資料庫連接
con.Open();
//7 執行命令對象里的SQL語句
cmd.ExecuteNonQuery();
//8 執行完後關閉資料庫連接
con.Close();
這樣資料庫就建立好了,要建立自定義的資料庫就看你的SQL語句了。
『肆』 MySQL中查詢所有資料庫佔用磁碟空間大小和單個庫中所有表的大小的sql語句
查詢所有資料庫佔用磁碟空間大小的SQL語句:
復制代碼
代碼如下:
select
TABLE_SCHEMA,
concat(truncate(sum(data_length)/1024/1024,2),'
MB')
as
data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB')
as
index_size
from
information_schema.tables
group
by
TABLE_SCHEMA
order
by
data_length
desc;
查詢單個庫中所有表磁碟佔用大小的SQL語句:
復制代碼
代碼如下:
select
TABLE_NAME,
concat(truncate(data_length/1024/1024,2),'
MB')
as
data_size,
concat(truncate(index_length/1024/1024,2),'
MB')
as
index_size
from
information_schema.tables
where
TABLE_SCHEMA
=
'TestDB'
group
by
TABLE_NAME
order
by
data_length
desc;
以上語句測試有效,注意替換以上的TestDB為資料庫名
『伍』 怎麼在資料庫中比較大小
1.Date直接可以比較大小。使用<、>、max、min等都行
2.select * from 數據表 where 數值>3
『陸』 LDF文件17GB,對應的MDF文件只有3GB多,怎樣瘦身
SQL code
--最好備份日誌,以後可通過日誌恢復數據。。。
以下為日誌處理方法
一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.
--*/
--下面的所有庫名都指你要處理的資料庫的庫名
1.清空日誌
DUMP TRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌:
BACKUP LOG 庫名 WITH NO_LOG
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
--選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
也可以用SQL語句來完成
--收縮資料庫
DBCC SHRINKDATABASE(庫名)
--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫:
企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫:
企業管理器--伺服器--資料庫--右鍵--附加資料庫
此法將生成新的LOG,大小隻有500多K
或用代碼:
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
a.分離
EXEC sp_detach_db @dbname = '庫名'
b.刪除日誌文件
c.再附加
EXEC sp_attach_single_file_db @dbname = '庫名',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alter database 庫名 modify file(name=邏輯文件名,maxsize=20)
------其他回答(5分)---------
SQL code
、用BACKUP LOG database WITH NO_LOG清除日誌
把資料庫屬性中的故障還原模型改為「簡單」可以大大減慢日誌增長的速度。
如果把還原模型調到簡單,這樣就不支持時間點還原了,但是日誌文件會很小,如果數據比較重要推薦還是把資料庫的還原模型調為完全
用BACKUP LOG database WITH NO_LOG命名後,會截斷不活動日誌,不減小物理日誌文件的大小,但邏輯日誌會減小,收縮資料庫後會把不活動虛擬日誌刪除來釋放空間,不會損壞數據。
如果日誌被截斷並收縮資料庫後,就不能直接用最近的一個全庫備份做時間點還原,建議立即備份資料庫,以防萬一。
2、sql server運行中,是否能刪除主資料庫事務日誌文件
步驟如下:(1)、分離資料庫企業管理器--資料庫--右擊你要刪除日誌的資料庫--所有
任務--分離資料庫
(2)、然後刪除日誌文件
(3)、然後再附加資料庫
企業管理器--資料庫--右擊資料庫--所有任務--附加資料庫這時候只附加。mdf就可以了。
3、壓縮SQL資料庫及日誌的詳細方法
SQL Server 2000基礎教程——壓縮資料庫資料庫在使用一段時間後,時常會出現因數據刪除而造成資料庫中空閑空間太多的情況,這時就需要減少分配給資料庫文件和事務 日誌文件的磁碟空間,以免浪費磁碟空間。當資料庫中沒有數據時,可以修改資料庫文件屬性直接改變其佔用空間,但當資料庫中有數據時,這樣做會破壞資料庫中 的數據,因此需要使用壓縮的方式來縮減資料庫空間。可以在資料庫屬性選項中選擇「Auto shrink」選項,讓系統自動壓縮資料庫,也可以用人工的方法來壓縮。人工壓縮資料庫有以下兩種方式:
1、用Enterprise Manager 壓縮資料庫
在Enterprise Manager 中在所要壓縮的資料庫上單擊右鍵,從快捷菜單中的「所有任務(All Tasks)」中選擇「Shrink Database(壓縮資料庫)」選項,就會出現如圖6-10 所示的對話框。可以在圖6-10 所示的對話框中選擇資料庫的壓縮方式,也可以選擇使用壓縮計劃或壓縮單個文件單擊圖6-10 中的「Files」按鈕,會出現如圖6-11 所示的壓縮資料庫文件對話框,可以針對每個資料庫文件進行不同的壓縮設置。
單擊圖6-10 中的「Change」 按鈕,會出現如圖6-12 所示的壓縮計劃編輯對話框,可以指定壓縮計劃的執行方式。單擊圖6-12 中的「Change」 按鈕,會出現如圖6-13 所示的循環工作計劃編輯對話框,可以編輯計劃執行的周期或時間點。設置完成後單擊「OK」 按鈕就開始壓縮資料庫,在壓縮結束後會顯示一個壓縮情況信息框。
2、用Transact-SQL 命令壓縮資料庫
可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令來壓縮資料庫。其中DBCC SHRINKDATABASE 命令對資料庫進行壓縮,DBCC SHRINKFILE 命令對資料庫中指定的文件進行壓縮。
(1) DBCC SHRINKDATABASE
DBCC SHRINKDATABASE 命令語法如下:
DBCC SHRINKDATABASE (database_name [, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各參數說明如下:
?target_percent 指定將資料庫壓縮後,未使用的空間占資料庫大小的百分之幾。如果指定的百分比過大,超過了壓縮前未使用空間所佔的比例,則資料庫不會被壓縮。並且壓縮後的資料庫不能比資料庫初始設定的容量小。
?NOTRUECATE
將資料庫縮減後剩餘的空間保留在資料庫,中不返還給操作系統
。如果不選擇此選項,則剩餘的空間返還給操作系統。
?TRUNCATEONLY
將資料庫縮減後剩餘的空間返還給操作系統。使用此命令時SQL Server 將文件縮減到最後一個文件分配,區域但不移動任何數據文件。選擇此項後,target_percent 選項就無效了。例6-14: 壓縮資料庫mytest 的未使用空間為資料庫大小的20%
。
dbcc shrinkdatabase (mytest, 20)
運行結果如下:
DBCC execution completed. If DBCC printed error
messages, contact your system administrator.
(2) DBCC SHRINKFILE
DBCC SHRINKFILE 命令壓縮當前資料庫中的文件。其語法如下:
DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |
[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
各參數說明如下:
?file_id
指定要壓縮的文件的鑒別號(Identification number, 即ID)
。文件的ID 號可以通過 FILE_ID()函數或如本章前面所講述
的Sp_helpdb 系統存儲過程來得到。
?target_size
指定文件壓縮後的大小。以MB 為單位。如果不指定此選項,SQL Server 就會盡最大可能地縮減文件。
?EMPTYFILE
指明此文件不再使用,將移動所有在此文件中的數據到同一文件組中的其它文件中去。執行帶此參數的命令後,此文件就可以用ALTER DATABASE 命令來刪除了。 其餘參數NOTRUNCATE 和TRUNCATEONLY 與DBCC SHRINKDATABASE
命令中的含義相同。 例6-15: 壓縮資料庫mydb 中的資料庫文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)
企業管理器裡面的方法:
1、打開企業管理器
2、打開要處理的資料庫
3、點擊最上面菜單>工具>SQL查詢分析器,打開SQL查詢分析器
4、在輸入窗口裡面輸入:
Code:
DUMP TRANSACTION [資料庫名] WITH NO_LOG
BACKUP LOG [資料庫名] WITH NO_LOG
DBCC SHRINKDATABASE([資料庫名])
點擊綠色的小三角(或按F5)執行查詢,等狀態欄提示處理完成
即可!
程序裡面的方法:
壓縮資料庫日誌
--1.清空日誌
exec(』DUMP TRANSACTION [』+@dbname+』] WITH NO_LOG』)
--2.截斷事務日誌:
exec(』BACKUP LOG [』+@dbname+』] WITH NO_LOG』)
--3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
exec(』DBCC SHRINKDATABASE([』+@dbname+』])』)
4、減小日誌的方法:
一、用如下步做了:
1、DUMPTRANSACTION庫名WITHno_log
2、dbcc shrinkfile(logfilename)
3、收縮資料庫
4、設定自動收縮。
二、分離資料庫,刪除日誌文件,再附加,OK!右擊資料庫--所有任務--分離or 附加
三、1、backup log庫名WITHno_log,2、dbcc shrinkfile(logfilename),3、收縮資料庫
4、設定自動收縮。
『柒』 怎麼在phpmyadmin中查看資料庫總大小,請具體賜教一下
在PHPmyadmin後台查看資料庫大小的方法是:
1. 運行WAMP,等待所以服務都正常運行;
2. 點擊WAMP圖標,選擇PHPmyadmin;
3. 在彈出的網頁左上部,可以看到伺服器中已有的資料庫;
4. 點擊要查看的資料庫,就可以在【結構】選項卡中看到資料庫大小。
phpmyadmin是WAMP系統中的重要工具,可以很方便的管理資料庫,包括資料庫新建,資料庫許可權設置,資料庫查詢等幾乎所有資料庫操作,是伺服器資料庫管理中必不可少的工具。
『捌』 我的網站mdb資料庫文件每天都會增加幾M,不知道是什麼原因網站訪問越來越慢,希望在此請教怎麼處理。
網站有流量和數據的傳輸了
mdb里就會有寫入寫出的操作
mdb讀的次數多了也會產生碎片,不定期清理碎片壓縮下資料庫 可以減少空間的佔用
『玖』 在資料庫設計過程中要注意哪些問題
DB2資料庫的性能與穩定性直接跟資料庫對象的多少、大小有關。如果對象很少,不復雜,那麼就算不怎麼規劃,也能夠達到比較高的性能。如果對象數據比較多、比較大的話,那麼就需要在資料庫設計之前好好的規劃,否則會在很大程度上影響資料庫的性能與穩定性。
一、選擇合適的語言與資料庫字元集。
在企業中部署資料庫的時候,首先需要在操作系統上安裝資料庫。而在安裝資料庫的時候,需要選擇安裝的語言環境。即是以中文狀態下安裝資料庫還是以英文狀態安裝資料庫。如在啟動安裝程序的時,可以利用/i language選項來指定安裝過程中所採用的語言。到目前為止,DB2資料庫已經支持很多種語言。那麼資料庫在安裝過程中,該採用什麼語言呢?筆者建議,只要資料庫管理員有一點英語基礎,最好能夠採用英文語言環境來進行安裝。雖然說現在DB2資料庫的中文語言環境已經設計的比較完善,但是筆者仍然擔心其有一些不知名的漏洞。為此筆者在安裝DB2資料庫的時候,基本上都採用的是英文語言環境來進行安裝。即將語言設置為「EN」,表示英文。提高DB2數據備份與恢復的效率。
另外如果DB2 資料庫中要保存英文以外的數據,或者說用戶會使用不同的字元集訪問資料庫時,還需要在資料庫安裝過程中選擇特定的資料庫字元集。DB2資料庫中的所有字元數據,包括數據字典中的數據,都是存儲在資料庫字元集中的。如果用戶使用不同的字元集訪問資料庫時,資料庫管理員就需要選擇包含所有這些用戶的字元集的超集。只有如此,才能夠確保系統能夠很方便的使用替代字元完成字元的轉換,從而提高資料庫的性能。如果用戶選擇的字元集不對,有可能會出現一些莫名其妙的問題。如一次用戶在安裝資料庫過程中,沒有選擇合適的字元集。雖然在使用的過程中,其存儲中文字元沒有問題。但是當對資料庫採取還原操作時,卻發現還原後的資料庫中有些原來是中文字元的地方,盡然出現了亂碼。這主要就是沒有選擇合適的字元集惹的禍。有時候如果字元集選擇不當的話,從外部數據源(如Excel表格)導入數據的時候,中文數據也會無法順利導入。所以,資料庫管理員在安裝資料庫的時候,需要根據實際企業,來選擇合適的字元集。
二、評估資料庫對象的大小、數量。
DB2資料庫的性能與穩定性直接跟資料庫對象的多少、大小有關。如果對象很少,不復雜,那麼就算不怎麼規劃,也能夠達到比較高的性能。如果對象數據比較多、比較大的話,那麼就需要在資料庫設計之前好好的規劃,否則會在很大程度上影響資料庫的性能與穩定性。其實DB2 資料庫就好像一個倉庫,資料庫中的對象(如索引、數據表、表空間)等等就好像倉庫中的貨物。如果貨物比較少,那麼隨便放放,倉庫都顯得很空曠。貨物尋找起來也會很方便。但是如果貨物數量比較多、比較大,就必須要對其存儲空間進行合理規劃。只有如此才能夠讓倉庫的空間利用率達到最佳狀態。並且貨物的存放有序,在查找起來也特別的方便。筆者這里就以倉庫管理為例,說話該如何做好資料庫對象大小、數量等方便的評估,以及他們對於資料庫性能與穩定性的影響。
1、根據對象大小來規劃存儲空間。在倉庫貨物的擺放上,要根據貨物的大小來規劃存儲空間。或者說要首先防止大的貨物。只有如此空間的利用率才會最高。其實在規劃DB2對象的時候,也是如此。如某些表可能會包含的記錄比較多,屬於大表。此時資料庫管理員就需要考慮,是否將其放置在一個獨立的表空間或者硬碟空間上,以提高數據操作的性能。大表所對應的索引往往也是比較大的。為此在硬體條件允許的情況下,將索引表與數據表分別存放在不同的硬碟上,可以提高資料庫的性能。而對於一些比較小的對象(如數據表),可以將它們存放在一個表空間中。其實這個表空間就好像倉庫中的一個個紙盒子。將小的對象放入到這個「紙盒子」中,不但不佔空間,而且也容易管理。
2、根據對象的使用頻率來規劃存放空間。在倉庫中擺放物品的時候,往往會把近期就要用到的貨物或者頻繁需要用到的東西放在倉庫門口或者容易拿到的地方。如此在拿這些貨物時就會比較便捷,也不會對其他貨物產生影響。對於DB2資料庫中的對象來說,也是這么一回事。可以將那些訪問量比較大的對象,如索引、數據表,存放在性能比較好的硬碟上或者單獨的硬碟中。此時訪問這些數據,就不會與其它對象產生I/O沖突,操作起來速度就會比較快。而將不怎麼用到的對象,存放在一起。由於他們不怎麼被用到,所以即使存放在性能比較低的硬碟上,其對資料庫性能產生的負面影響也是非常有限的。 在DB2資料庫裡面如何更新執行計劃
3、根據類別來存放資料庫對象。在倉庫中存放貨物的時候,還會對其進行分類。然後根據類別來進行存放。這有利於貨物的管理與檢索。其實在資料庫對象存儲空間設計時,也需要考慮這個因素。如現在應用軟體在設計的時候,很多都是根據模塊來設計。那麼在資料庫對象設計時,也需要根據這個模塊來設計存儲的空間。如將同一個模塊的資料庫對象存放在同一個表空間內。不過這可能會跟上面的兩個建立相違背。此時最好是在對象的命名上做文章。如可以根據模塊的不同,分別給資料庫對象取一個相同的前綴或者後綴。如即使同一塊模塊要用到多個表空間,此時就可以給表空間一個相同的前綴。如此在管理資料庫對象的時候,根據表空間的前綴就可以判斷其所屬的模塊了。如果再加上一個後綴來表示其資料庫對象的分類,那麼就更合理了。為此在管理資料庫對象的時候,要執行分類管理。不僅要從技術上對其進行分類,如分為索引、數據表、關鍵字等等。還需要從功能上進行分類,如按應用程序的模塊來進行分類等等。
三、設計好資料庫備份與還原的方案。
在資料庫交付生產使用之後,往往需要進行大量的測試。但是在測試過程中往往又會產生很多的垃圾數據。可是交給企業應用的,肯定是一個干凈的資料庫系統。為此在資料庫設計的時候,就需要想好如果減少測試過程中的垃圾數據。或者採取什麼樣的方式來實現在交互時自動清除垃圾數據的機制。
一般來說,想要一個資料庫備份與還原的方案,減少資料庫測試所產生的垃圾數據。如現在在給企業部署資料庫的時候,往往是先安裝一個干凈的資料庫系統。當然字元集這些需要預先設置好。然後再利用資料庫還原功能將預先定義好的資料庫模型還原出來。
另外有些時候需要兩個方案互為補充。如在資料庫初始化的過程中,採用資料庫還原的方式來創建資料庫對象。但是在應用軟體升級的時候,由於此時已經有了用戶的數據,為此不能夠在使用資料庫還原的方法。而是通過應用程序來執行某些SQL代碼,來調整或者增加部分資料庫對象。無論採用哪一種方式,需要遵循的一個原則就是在給企業創建資料庫對象時要最大限度的減少測試。而要做到這一點,就是需要先在測試伺服器上創建對象並測試對象可用。然後直接將相關的SQL代碼在投入使用的資料庫伺服器上執行。
『拾』 java代碼獲取Sybase資料庫空間使用情況
統計資料庫空間使用率的SQL:參考:http://www.dnfo.net/ase-segment-spaceusage.htm
select convert(char(16),db_name(data_segment.dbid)) DBName
,str(round(total_data_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Total Data(MB)"
,str(round(free_data_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Free Data(MB)"
,str(round(total_log_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Total Log(MB)"
,str(round(free_log_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Free Log(MB)"
,str( round(100.0 * free_data_pages / total_data_pages ,2),10,2) "Free_Data%"
,str( round(100.0 * free_log_pages / total_log_pages,2),10,2) "Free_Log%"
from
(select dbid,sum(size) total_log_pages,lct_admin("logsegment_freepages", dbid ) free_log_pages
from master.dbo.sysusages
where segmap & 4 = 4
group by dbid
) log_segment
,
(select dbid,sum(size) total_data_pages ,sum(curunreservedpgs(dbid, lstart, unreservedpgs)) free_data_pages
from master.dbo.sysusages
where segmap <> 4
group by dbid
) data_segment
where data_segment.dbid = log_segment.dbid
--and data_segment.dbid > 3 and data_segment.dbid < 31513
order by data_segment.dbid
go
關於設備文件使用情況:
參考:
ASE15.x之前版本中查看設備剩餘空間以及設備上資料庫分配信息的存儲過程
http://www.dnfo.net/get-free-space-of-device-and-database-allocation-prior-to-ase12-5.htm