<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    SunKing's Blog

    留言簿(42)

    Java鏈

    友鏈

    閱讀排行榜

    評論排行榜

    「轉載」mssql數據庫管理的簡單介紹

    摘自:http://blog.itpub.net/post/1626/15010
    一、四個系統數據庫的介紹
    二、三種備份和恢復
    三、兩種數據導入導出方法
    四、數據庫維護計劃和作業的應用(前提都是sqlserver agent服務要啟動)
    五、安全性介紹
    六、sql腳本的生成
    七、事件探查器的應用
    八、日志的截斷

    一、四個系統數據庫的介紹
      1、Master數據庫
      Master數據庫記錄了Sqlserver所有的服務器級系統信息,所有的注冊帳戶和密碼,以及所有的系統設置信息,還記錄了所有用戶定義數據庫的存儲位置和初始化信息。
      2、Tempdb數據庫
      Tempdb記錄了所有的臨時表、臨時數據和臨時創建的存儲過程。Tempdb數據庫是一個全局資源,沒有專門的權限限制,允許所有可以連上Sqlserver服務器的用戶使用。
      在Tempdb數據庫存放的所有數據信息都是臨時的。每當連接斷開時,所有的臨時表和臨時存儲過程都將自動丟棄。每次系統啟動時Sqlserver都會根據Model數據庫重新創建Tempdb數據庫。
      3、Model數據庫
      Model數據庫是用戶建立新數據庫的模板,它包含了將復制到每個用戶數據庫中去的系統表。每當創建數據庫的語句create database執行時,服務器總是通過復制model數據庫來建立新數據庫的前面部分,新數據庫的后面部分被初始化成空白的數據頁,以供用戶存放數據。
      4、Msdb數據庫
      Msdb數據庫主要被sqlserver agent用來進行復制、作業調度以及管理報警等活動。該數據庫常被用來通過調度任務排除故障。
      5、說明:在具體應用中可以在企業管理器里將這四個系統數據庫隱藏起來,可以避免用戶誤操作,也可以起到讓用戶知道操作系統數據庫帶來的后果。

     

    二、三種備份和恢復
    1、通過企業管理器的備份和還原數據庫。
    2、在查詢分析器里執行sp_detach_db 'dbname',true分離數據庫,將操作系統文件*.mdf(主數據文件)和*.ldf(日志文件)拷貝出來,當然你也可以通過停止sqlserver服務來拷貝操作系統文件。
      通過sp_attach_db(兩個操作系統文件都完好)或sp_attach_single_file_db(主數據文件完好,日志文件破壞)來附加數據庫(如果在附加中有問題,執行下列步驟)。

    mssql里附加數據庫出錯的解決方法在QA里執行sp_attach_db或者sp_attach_single_file_db,出現提示:錯誤1813:未能打開新數據庫'dbname',create database 將終止。設備激活錯誤。物理文件名'd:\sql server\mssql\data\dbname _log.ldf'可能有誤! 按下面的步驟處理:1.新建一個同名的數據庫2.再停掉sqlserver服務(注意不要分離數據庫)3.用原數據庫的數據文件覆蓋掉這個新建的數據庫4.再重啟sqlserver服務5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的數據庫名)6.完成后一般就可以訪問數據庫中的數據了。這時,數據庫本身一般還有問題,解決辦法是:利用數據庫的腳本創建一個新的數據庫,然后通過DTS將數據導進去就行了use mastergosp_configure 'allow updates',1 reconfigure with overridegoupdate sysdatabases set status =32768 where name='置疑的數據庫名'gosp_dboption '置疑的數據庫名', 'single user', 'true'godbcc checkdb('置疑的數據庫名') goupdate sysdatabases set status =28 where name='置疑的數據庫名'gosp_configure 'allow updates', 0 reconfigure with overridego sp_dboption '置疑的數據庫名', 'single user', 'false'go  也可以通過企業管理器來附加數據庫。3、查詢分析器里執行backup database 'dbname' to disk='路徑'來備份數據庫,restore database 'dbname' from disk='路徑'來還原數據庫。(以上提到的sql語句里的符號如''等都應該是半角的。這里的操作實際上是上面1里對應的sql語句操作。)
    三、兩種數據導入導出方法
    1、通過DTS來做
    2、bcp實用工具來做
         例如(hostname表示機器名,user表示sqlserver登陸用戶名,resu表示對應的用戶登陸的密碼):
         exec master..xp_cmdshell 'bcp dbname..table_name out d:\test.xls -c -Shostname -Uuser -Presu'

    四、數據庫維護計劃和作業的應用(前提都是sqlserver agent服務要啟動)
    1、數據庫維護計劃
    2、作業
    /*在遠程機器操作系統的計算機管理里建立一個用戶名為kyle的用戶,密碼為1234,同時在那臺機器的非系統盤里建一個名為backup的共享文件夾,為了安全另外設置這個文件夾只有這個kyle用戶可以訪問。*/
    declare @sql varchar(500)
    select @sql='\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),getdate(),112) +
                  substring(convert(varchar(10),getdate(),108),1,2) +'.bak'
    exec master..xp_cmdshell 'net use \\10.2.0.12\backup 1234 /user:remotehost\kyle'
    backup database dbname to disk=@sql --備份數據庫,這里的10.2.0.12為遠程機器的ip,remotehost為遠程機器的機器名,dbname為本地sqlserver服務器要備份的數據庫
    go

    declare @sql varchar(500)
    select @sql='del '+'\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),dateadd(day,-7,getdate()),112) +              substring(convert(varchar(10),dateadd(day,-7,getdate()),108),1,2) +'.bak'
    exec master..xp_cmdshell @sql --刪除7天前的備份,也就是只保留7個最新備份
    go
      
    五、安全性介紹
    1、兩種登陸方式:
      標準登陸方式(sqlserver和windows),采用sqlserver提供的用戶名和密碼登陸連接,可用sp_denylogin 'builtin\administrators'拒絕操作系統管理員登陸連接(sp_grantlogin 'builtin\administrators'反轉),也稱非信任登陸機制;這種認證方式是兩種方式中最安全的。
      集成登陸方式(僅windows),將windows的用戶和工作組映射為sqlserver的登陸方式,也稱信任機制。
    2、一個特殊帳戶:sa,為系統默認帳戶,不能刪除,擁有最高的管理權限,可以執行sqlserver服務器范圍內的所有操作,所以一定要給sa加上密碼,密碼推薦不少于6位,最后是字母、數字和特殊符號的組合。
    3、兩個特殊數據庫用戶:
      dbo,數據庫的擁有者,在安裝sqlserver時,被設置到model數據庫中,不能被刪除,所以dbo在每個數據庫中都存在。dbo是數據庫的最高權力者,對應于創建該數據庫的登陸用戶,即所有的數據庫的dbo都對應于sa帳戶;
      guest,這個用戶可以使任何已經登陸到sqlserver服務器的用戶都可以訪問數據庫,即使它還沒有成為本數據庫的用戶。所有的系統數據庫除model以外都有guest用戶。所有新建的數據庫都沒有這個用戶,如果油必要添加guest用戶,請用sp_grantdbaccess來明確建立這個用戶。
    4、還原數據庫的時候之所以要刪除本數據庫的用戶如user,然后在安全性→登陸里重新建這個用戶和指定相應的訪問權限,是因為這個用戶在master里不存在。當然你也可以用sp_addlogin 'user','resu'來新建user用戶,sp_change_users_login 'update_one','user','user'來指定在master中的對應。
    5、具有system administrators服務器角色的成員擁有與sa一樣的權限,具有db_owner數據庫角色的用戶具有對本數據庫的完全操作權限。

    六、sql腳本的生成
    說明:可以選擇生成某個具體數據庫對象的腳本,也可以生成整個數據庫對象的腳本。

    七、事件探查器的應用
    說明:追蹤對后臺數據庫的每一個請求,以此可以定位前臺頁面的哪個屬性對應后臺表的哪個字段。

    八、日志的截斷
    backup log dbname with no_log
    dbcc shrinkdatabase('dbname')

    posted on 2005-08-16 18:02 SunKing's Blog 閱讀(1156) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 美女扒开尿口给男人爽免费视频| 亚洲国产av高清无码| 色噜噜狠狠色综合免费视频| 天天操夜夜操免费视频| 亚洲娇小性色xxxx| 毛片a级毛片免费播放下载| 国产精品亚洲精品| 黄网址在线永久免费观看| 亚洲gay片在线gv网站| 免费a级毛片网站| 五月天国产成人AV免费观看| 精品亚洲视频在线观看| 国产三级在线免费| 久久久婷婷五月亚洲97号色 | 亚洲一级片在线观看| 久久国内免费视频| 亚洲AV无码专区在线厂| 亚洲国产精品成人网址天堂| 久久成人永久免费播放| 亚洲人成在线电影| 成人免费在线观看网站| 日韩a毛片免费观看| 亚洲视频2020| 成人免费无码大片A毛片抽搐| 香蕉视频免费在线| 亚洲成av人片在线观看无码不卡| 亚洲黄色免费观看| 色九月亚洲综合网| 亚洲AV天天做在线观看| 最新欧洲大片免费在线| 男人免费视频一区二区在线观看| 西西人体44rt高清亚洲| 日本高清免费中文字幕不卡| 久久99精品免费一区二区| 亚洲喷奶水中文字幕电影| 亚洲国产婷婷香蕉久久久久久| 一级毛片成人免费看免费不卡| 亚洲日韩精品无码AV海量| 国产亚洲一区二区三区在线不卡| 日本最新免费网站| 色老头综合免费视频|