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

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

綠色資源網

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

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

我要評論 2012/09/27 20:30:27 來源:綠色資源網 編輯:www.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_在线观看亚洲精品
国产视频在线一区二区| 国产亚洲精品久久久久婷婷瑜伽| 国产精品人成在线观看免费| 国产精品成人一区二区网站软件| 国产精品另类一区| 欧美新色视频| 久久国产精品99国产精| 欧美精品在线一区| 国产一区在线观看视频| 一区二区三区视频在线| 欧美性猛交xxxx乱大交退制版| 欧美亚洲自偷自偷| 国产一区二区三区日韩| 麻豆精品国产91久久久久久| 久久不射网站| 亚洲欧美福利一区二区| 久久综合九色综合欧美就去吻| 欧美精品一级| 黄色精品一区二区| 伊人色综合久久天天五月婷| 日韩视频精品在线观看| 欧美精品一区二区三区很污很色的| 国精产品99永久一区一区| 国产欧美一二三区| 在线欧美不卡| 久久人人97超碰精品888| 欧美不卡在线| 欧美日韩亚洲一区二区三区在线观看| 鲁大师影院一区二区三区| 一本久道久久综合狠狠爱| 一本一本久久a久久精品综合妖精| 亚洲高清视频一区| 欧美一级视频精品观看| 亚洲最新视频在线播放| 久久av红桃一区二区小说| 久久夜色精品国产欧美乱| 久久精品视频在线| 欧美极品欧美精品欧美视频| 日韩亚洲综合在线| 在线精品亚洲一区二区| 一区二区激情| 午夜精品久久久久久久99热浪潮| 国产亚洲人成网站在线观看| 夜夜嗨av一区二区三区网站四季av| 国产精品一二三四| 国模精品一区二区三区色天香| 99香蕉国产精品偷在线观看| 欧美在线观看www| 99re6这里只有精品视频在线观看| 久久久久免费视频| 在线精品国产成人综合| 国产精品久久久久久久午夜| 久久免费视频在线观看| 欧美日韩亚洲网| 亚洲三级免费观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲天堂久久| 国内精品国语自产拍在线观看| 亚洲国产一区二区三区高清| 免费观看亚洲视频大全| 亚洲国产精品成人综合色在线婷婷| 你懂的网址国产 欧美| 亚洲天堂av综合网| 国产精品一区久久| 欧美色另类天堂2015| 欧美在线免费看| 亚洲欧美日韩在线一区| 中文在线不卡视频| 精久久久久久| 久久福利电影| 欧美日韩亚洲在线| 在线看国产日韩| 日韩视频不卡| 久久精品一区| 欧美视频不卡中文| 国产精品网站在线播放| 极品中文字幕一区| 欧美日韩视频在线一区二区观看视频| 欧美一区二区三区免费视频| 国产日韩欧美一区二区三区在线观看| 欧美亚洲第一区| 玖玖国产精品视频| 久久免费偷拍视频| 亚洲品质自拍| 欧美少妇一区| 国产精品magnet| 国产一区二区三区四区老人| 国产在线视频欧美一区二区三区| 中日韩午夜理伦电影免费| 欧美在线视频观看| 欧美在线看片| 久久久久成人网| 亚洲永久在线| 欧美在线免费观看亚洲| 欧美一区永久视频免费观看| 国产精品成人v| 欧美日韩一区三区| 国产精品久久国产三级国电话系列| 激情欧美国产欧美| 欧美激情亚洲精品| 亚洲国产精品va| 好吊色欧美一区二区三区四区| 国产一区二区三区直播精品电影| 国产精品99久久99久久久二8| 欧美日韩免费精品| 欧美午夜片在线免费观看| 亚洲大片av| 中文av字幕一区| 欧美日韩视频一区二区三区| 中文国产一区| 欧美va天堂在线| 国产精品xvideos88| 日韩视频二区| 国产精品爱久久久久久久| 国产性猛交xxxx免费看久久| 亚洲直播在线一区| 在线观看欧美精品| 欧美精品在线视频| 欧美精品网站| 国产欧美一区二区精品婷婷| 亚洲国产老妈| 亚洲免费网站| 国产专区欧美精品| 欧美成人午夜免费视在线看片| 欧美搞黄网站| 亚洲毛片在线免费观看| 性久久久久久| 亚洲影院色在线观看免费| 六月丁香综合| 欧美区日韩区| 亚洲精品美女久久久久| 国产色综合久久| 亚洲精品国产拍免费91在线| 国内精品写真在线观看| 一区二区三区高清在线| 久久aⅴ乱码一区二区三区| 亚洲视频免费在线| 久久男人资源视频| 羞羞视频在线观看欧美| 国产一区二区三区网站| 美日韩在线观看| 亚洲天堂av在线免费| 久久爱另类一区二区小说| 欧美日韩日本国产亚洲在线| 久久免费视频观看| 国产色视频一区| 久久亚洲国产精品日日av夜夜| 欧美日韩在线不卡一区| 91久久线看在观草草青青| 欧美在线观看一区二区三区| 永久91嫩草亚洲精品人人| 国产欧美日韩不卡| 久久精品91久久香蕉加勒比| 国产欧美一级| 欧美日韩亚洲系列| 国产亚洲福利一区| 欧美一区二区在线免费播放| 韩国欧美国产1区| 久久精品国产清自在天天线| 99视频在线观看一区三区| 宅男在线国产精品| 欧美一级淫片aaaaaaa视频| 久久不射2019中文字幕| 国产精品成人一区二区三区夜夜夜|