一区二区三区在线视频播放_一区在线播放视频_欧美.com_亚洲精品无人区_久久亚洲精品视频_国产精品久久久久久久免费软件_久久av一区二区三区_欧美国产日韩精品免费观看_亚洲一区自拍_91久久国产精品91久久性色_亚洲一区二区三区在线播放_久久久久久久一区_国产精品一区二区久久久_精品成人国产_亚洲欧洲精品一区二区三区波多野1战4_在线观看亚洲精品

綠色資源網:您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置:首頁數據庫類SQL Server → SQL Server 2012 自帶數據庫維護工具使用技巧

SQL Server 2012 自帶數據庫維護工具使用技巧

我要評論 2012/09/27 20:30:27 來源:綠色資源網 編輯:m.makmong.com [ ] 評論:0 點擊:378次

2012年第二季度,SQL Server 2012就已經發布。作為普通的開發者,并沒有太多的熱情去追隨這些潮流的技術,經過短暫的嘗鮮,果斷決定放在一邊,不予以理會。從SQL Server 2000起,就一直把SQL Server作為首選的項目數據庫平臺。隨著SQL Server 2005, 2008, 2008 R2, 2012等系列版本的陸續發布,面臨的問題也越來越多。遇到最多的一個問題是,SQL Server不同版本間的數據庫轉化問題。

舉例說明,在幾百個客戶中,至今仍然有使用SQL Server 2000的,以我的經驗,這個版本的SQL Server還有相當多的客戶在用。2006年之后的客戶,從開始上項目就推薦用SQL Server 2005,所以沿襲過來,他們一直是這個版本的。到了2009年,新的客戶又被推薦使用SQL Server 2008或是SQL Server 2008 R2,從理解上來說,SQL Server 2008 R2相當于SQL Server 2010。再加上這幾個版本之間有補丁包,SQL Server的版本又增加了好幾個,理論上推薦客戶升級到最新的補丁包,也有客戶因穩定性的原因,拒絕升級。于是乎,就為一個SQL Server,就有好多個版本。作為開發者,一般只有裝最新的SQL Server,以便于防止在查找客戶問題時,發生數據庫版本不兼容,無法還原數據庫的錯誤。然而,最新的SQL Server 2012,不再支持SQL Server 2000的備份文件,這不是個好消息。

對于下面的這個錯誤,在客戶比較多的情況下,經常會遇到。比如要拿客戶的數據庫回來查找問題,這個問題經常出現。如果耐心不好,就干脆裝個最新的SQL Server,如果不想這樣,下面提供的幾種方法,也許對你有所幫助。

SQL Server Import/Export

SQL Server自帶的導入導出向導,大部分情況下有效。我推薦的步驟是先創建目標數據庫的腳本,讓SQL Server只傳輸數據,而不是既創建表,又傳輸數據,以減少一些很奇怪的錯誤。

這個工具用的不多,有各種奇怪的問題,沒有積累多的經驗。

SQL Object Level Recovery Native

RedGate公司SQL Toolbet系列組件的一個,可以從SQL Server的備份文件中生成帶數據的SQL語句,在目標數據庫中直接執行即可。這種方法的成功率很高,簡單的帶數據的SQL INSERT語句,在任何版本的SQL Server中,都可以很正確的插入數據。

點擊View Recovery Script,可以查看它生成的SQL 腳本,直接把備份數據文件轉化為SQL語句,相當方便。

目前支持SQL Server 2008 R2的備份集,可以滿足絕大部分客戶的應用。

SQL Query  Generator

公司的工具庫里面的一個工具,一般是給客戶維護(support)人員用,用于快速導入導出數據。

以Northwind數據庫為例子,可以馬上生成這個表的INSERT語句,保存到剪貼板中,例子語句如下所示

INSERT INTO [Employees] ([EmployeeID],[LastName],[FirstName],[Title],[TitleOfCourtesy],[BirthDate],[HireDate],[Address],[City],[Region],[PostalCode],[Country],[HomePhone],[Extension],[Photo],[Notes],[ReportsTo],[PhotoPath])
VALUES(9, N'Dodsworth', N'Anne', N'Sales Representative', N'Ms.', '1966-1-27 0:0:0.0', '1994-11-15 0:0:0.0', N'7 Houndstooth Rd.', N'London', N'', N'WG2 7LT', N'UK', N'(71) 555-4444', N'452', N'System.Byte[]', N'Anne has a BA degree in English from St. Lawrence College.  She is fluent in French and German.', 5, N'http://accweb/emmployees/davolio.bmp')

INSERT INTO [Employees] ([EmployeeID],[LastName],[FirstName],[Title],[TitleOfCourtesy],[BirthDate],[HireDate],[Address],[City],[Region],[PostalCode],[Country],[HomePhone],[Extension],[Photo],[Notes],[ReportsTo],[PhotoPath])
VALUES(8, N'Callahan', N'Laura', N'Inside Sales Coordinator', N'Ms.', '1958-1-9 0:0:0.0', '1994-3-5 0:0:0.0', N'4726 - 11th Ave. N.E.', N'Seattle', N'WA', N'98105', N'USA', N'(206) 555-1189', N'2344', N'System.Byte[]', N'Laura received a BA in psychology from the University of Washington.  She has also completed a course in business French.  She reads and writes French.', 2, N'http://accweb/emmployees/davolio.bmp')

這樣,很方便的搬動數據庫到另一個位置,簡單靈活。對于圖片數據,要單獨處理。對于有種子字段的列,要在導入前,開啟,語句如下所示

SET IDENTITY_INSERT dbo.ICMOVh OFF 
SET IDENTITY_INSERT dbo.ICMOVD ON

對于主從表數據,先導入主表,再導入從表。刪除主從表數據,則是先刪從表,再刪主表。

LLBL Gen

作為ORM的基本特征,跨數據庫平臺。你可以運用此特點,從一個數據庫中讀取,然后改變連接字符串,在另一個數據庫中保存,完成數據庫的轉移工作。以銷售單為例子,讀取銷售單的代碼,看起來是這樣的

public SalesOrderEntity GetSalesOrder(System.String RefNo, IPrefetchPath2 prefetchPath, ExcludeIncludeFieldsList fieldList)
{
            SalesOrderEntity _SalesOrder = new SalesOrderEntity(RefNo);
            using (DataAccessAdapterBase adapter = GetCompanyDataAccessAdapter())
            {
                bool found = adapter.FetchEntity(_SalesOrder, prefetchPath, null, fieldList);
                if (!found) throw new Foundation.Common.RecordNotFoundException("Invalid SalesOrder");
            }
            return _SalesOrder;
}

同時,保存銷售單的代碼,看起來是這樣的

public SalesOrderEntity SaveSalesOrder(SalesOrderEntity SalesOrder, EntityCollection entitiesToDelete, string seriesCode)
 {
            using (DataAccessAdapterBase adapter = GetCompanyDataAccessAdapter())
            {
                try
                {
                    adapter.StartTransaction(IsolationLevel.ReadCommitted, "SaveSalesOrder");
                    adapter.SaveEntity(SalesOrder, true, false);
                    adapter.Commit();
                }
                catch
                {
                    adapter.Rollback();
                    throw;
                }
            }
            return SalesOrder;
}

這些代碼均是由代碼生成器直接生成的。完成數據轉移的ORM代碼,看起來是這樣子的

string source = "Data Source=192.168.0.96;Initial Catalog=TS;User Id =sa ; Password =holiday;";
string destination = "Data Source=192.168.0.200;Initial Catalog=TS;User Id = sa ; Password = holiday;";
ClientProxyFactory.ConnectionString = source;            
ISalesOrderManager manager = ClientProxyFactory.CreateProxyInstance<ISalesOrderManager>();
SalesOrderEntity salesOrder = manager.GetSalesOrder(customerNo, null);
ClientProxyFactory.ConnectionString = destination;
manager.SaveSalesOrder(salesOrder);

就這樣幾句代碼,把銷售單數據從192.168.0.96的機器搬動到192.168..0.200的機器上。

更進一步的,這幾句代碼可以寫成一個泛型的方法,傳入參數,即可達到批量搬動數據。

以我的理解和摸索,當前仍然是讓項目使用主流的SQL Server 2005,搭配Express版本的SQL Server 2008, 2008 R2,這樣可以讀取高于SQL Server 2005的客戶數據庫,兼容于更新的數據庫。為了在不同的版本的SQL Server之間互導數據,供您參考。

關鍵詞:SQL,數據庫

閱讀本文后您有什么感想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視
一区二区三区在线视频播放_一区在线播放视频_欧美.com_亚洲精品无人区_久久亚洲精品视频_国产精品久久久久久久免费软件_久久av一区二区三区_欧美国产日韩精品免费观看_亚洲一区自拍_91久久国产精品91久久性色_亚洲一区二区三区在线播放_久久久久久久一区_国产精品一区二区久久久_精品成人国产_亚洲欧洲精品一区二区三区波多野1战4_在线观看亚洲精品
国产乱子伦一区二区三区国色天香| 欧美性做爰毛片| 在线观看欧美日韩国产| 99re6热在线精品视频播放速度| 久久精品天堂| 欧美视频在线观看| 欧美日韩一区二区免费视频| 亚洲欧美第一页| 欧美日韩在线观看视频| 精品999网站| 亚洲欧洲在线观看| 激情久久久久久久久久久久久久久久| 亚洲综合色激情五月| 久久视频国产精品免费视频在线| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲欧美日韩精品久久久久| 精品999久久久| 一区二区不卡在线视频 午夜欧美不卡'| 一本久道久久久| 欧美日本在线看| 国产精品亚洲激情| 欧美日韩精品免费观看视一区二区| 欧美精品粉嫩高潮一区二区| 99精品国产热久久91蜜凸| 亚洲一区高清| 伊人蜜桃色噜噜激情综合| 一区二区三区免费网站| 欧美一区二区视频免费观看| 99pao成人国产永久免费视频| 欧美在线视频一区| 欧美在线观看一区二区三区| 亚洲欧美一区二区原创| 日韩一区二区免费看| 看片网站欧美日韩| 在线一区二区三区四区| 国外成人在线视频| 国产精品美女黄网| 在线免费一区三区| 欧美肉体xxxx裸体137大胆| 国产精品一区二区黑丝| 欧美午夜片欧美片在线观看| 亚洲精品社区| 欧美日韩国产片| 免费看黄裸体一级大秀欧美| 精品1区2区| 国产日韩欧美一区| 国产欧美一区二区三区在线老狼| 久久综合伊人77777蜜臀| 国产精品综合av一区二区国产馆| 欧美乱在线观看| 欧美日韩精品一区二区在线播放| 国产精品久久国产精品99gif| 午夜一区不卡| 亚洲一区二区三区精品在线观看| 亚洲婷婷国产精品电影人久久| 久热综合在线亚洲精品| 久久深夜福利免费观看| 久久亚洲精品一区二区| 欧美大片91| 一本色道久久综合亚洲精品按摩| 亚洲激情视频网站| 一区二区三区久久久| 国产精品一区二区三区久久| 欧美日韩一区二区在线播放| 国产一区二区三区四区三区四| 国产精品免费视频xxxx| 正在播放欧美视频| 久久xxxx精品视频| 亚洲国产精品一区二区www| 老司机精品视频一区二区三区| 国产精品人人爽人人做我的可爱| 国产精品进线69影院| 久久久久久一区二区| 欧美成人r级一区二区三区| 欧美视频在线一区二区三区| 久久国产乱子精品免费女| 久久米奇亚洲| 欧美日韩国产高清| 欧美在线不卡视频| 欧美日韩成人激情| 欧美日本韩国在线| 麻豆91精品91久久久的内涵| 日韩手机在线导航| 国产精品视频网| 久久成人免费电影| 牛夜精品久久久久久久99黑人| 欧美精品一区二区三区高清aⅴ| 亚洲一二区在线| 亚洲国产欧美国产综合一区| 欧美日韩国产首页| 亚洲在线成人精品| 亚洲一区二区精品视频| 久久免费视频在线| 国产精品国产三级国产aⅴ入口| 国产精品免费看片| 香蕉免费一区二区三区在线观看| 欧美14一18处毛片| 亚洲电影在线看| 1000部精品久久久久久久久| 在线亚洲免费| 精品成人一区二区三区四区| 亚洲国产视频直播| 欧美精品一区二区精品网| 亚洲深夜激情| 在线成人激情黄色| 久久久www成人免费毛片麻豆| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲精品少妇网址| 男女精品网站| 亚洲社区在线观看| 在线综合+亚洲+欧美中文字幕| 在线观看国产一区二区| 欧美日韩一区自拍| 欧美日韩免费观看一区=区三区| 欧美激情va永久在线播放| 宅男噜噜噜66国产日韩在线观看| 亚洲午夜精品国产| 香蕉免费一区二区三区在线观看| 一区二区精品在线观看| 久久在线免费视频| 亚洲午夜电影| 国产欧美日韩精品专区| 国产麻豆视频精品| 亚洲图片欧洲图片av| 国产麻豆精品视频| 国产精品国产福利国产秒拍| 国产精品一区视频| 亚洲资源在线观看| 亚洲人成亚洲人成在线观看图片| 久久人人97超碰人人澡爱香蕉| 国产精品综合久久久| 狂野欧美性猛交xxxx巴西| 久久精品一区二区三区四区| 韩日欧美一区二区| 国产亚洲一区二区三区| 伊人一区二区三区久久精品| 久久久久网站| 欧美国产免费| 欧美日韩一二三四五区| 久久亚洲精品视频| 久久久亚洲成人| 亚洲国产视频一区二区| 国产日韩精品综合网站| 亚洲视频www| 欧美色偷偷大香| 国产精品扒开腿爽爽爽视频| 一区二区免费在线视频| 欧美视频一区二区| 日韩午夜中文字幕| 久久久久久综合| 在线日韩电影| 亚洲午夜一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 在线免费精品视频| 久久精品在线观看| 欧美精品日韩综合在线| 欧美一级片在线播放| 噜噜噜躁狠狠躁狠狠精品视频| 夜夜狂射影院欧美极品| 久久国产精品免费一区| 伊人激情综合| 娇妻被交换粗又大又硬视频欧美| 国产精品豆花视频| 久久精品国产视频|