国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类SQL Server → SQL Server 2012 自带数据库维护工具使用技巧

SQL Server 2012 自带数据库维护工具使用技巧

我要评论 2012/09/27 20:30:27 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:378次

2012年第二季度,SQL Server 2012就已经【jiù yǐ jīng】发布【fā bù】。作为普🔱通的开发者【fā zhě】,并没有🖱太多👎的热情【de rè qíng】去追随【qù zhuī suí】这🍱些潮流的技术,经过短【jīng guò duǎn】暂的尝鲜【xiān】,果断决👸定放在⏬一边,不予以理会。从【cóng】🔨SQL Server 2000起,就一直把【bǎ】SQL Server作为首选的项目数据【mù shù jù】库平台🚨。随着【suí zhe】🈹SQL Server 2005, 2008, 2008 R2, 2012等系列版本的陆续发🍸布,面临的【miàn lín de】问题【tí】也🛶越来越❤多👎。遇到最多的一🏅个问题【tí】🐶是【shì】,SQL Server不同版【bú tóng bǎn】本间的数据库转化问⛸题【tí】。

举例说明,在几百个【gè】客户🚤中🕧,至今仍【zhì jīn réng】然有使【rán yǒu shǐ】用【yòng】🥝SQL Server 2000的,以我的【yǐ wǒ de】经验🙇,这个【gè】版本【běn】的🚑SQL Server还有相当多的📔客户在【kè hù zài】用【yòng】🥝。2006年之后【nián zhī hòu】🆙的客户🖋,从开始【cóng kāi shǐ】上项目【shàng xiàng mù】就推荐用【yòng】🥝SQL Server 2005,所以沿袭过来🛴,他们一【tā men yī】直是这个【gè】版本【běn】的🚑。到了2009年🌶,新的客户🖋又被推荐使用【yòng】🥝SQL Server 2008或是【huò shì】SQL Server 2008 R2,从理解🤥上来说,SQL Server 2008 R2相当于SQL Server 2010。再加上【zài jiā shàng】这几个【gè】版本【běn】之⛱间有补丁包,SQL Server的版本【de bǎn běn】🤛又增加【yòu zēng jiā】了好几🦏个【gè】,理论上【lǐ lùn shàng】推荐客户升级👏到最新【dào zuì xīn】的补丁包,也有客户因稳🚦定性的🎤原因〰,拒绝升级👏。于是乎,就为一👗个【gè】SQL Server,就有好多个【gè】版本【běn】。作为开【zuò wéi kāi】😳发者【fā zhě】,一般只有装最✏新的SQL Server,以便于【yǐ biàn yú】防止在🧕查找客🥙户问题【hù wèn tí】时【shí】,发生数【fā shēng shù】据库版本【běn】不兼🐸容,无法还原数据库的错误。然而【rán ér】♍,最新的SQL Server 2012,不再支【bú zài zhī】持SQL Server 2000的备份文件,这不是【zhè bú shì】个好消【gè hǎo xiāo】🉑息⛰。

对于下【xià】🖍面的这个错误🐗,在客户比较多【bǐ jiào duō】的情况下【xià】,经常会【jīng cháng huì】👡遇到。比如要拿客户🏰的数据🈴库回来【kù huí lái】查找问【chá zhǎo wèn】题⛱,这个问💐题⛱经常出现【xiàn】。如果耐💇心不好,就干脆装个最新的【xīn de】🎊SQL Server,如果不【rú guǒ bú】想这样,下面提【xià miàn tí】供的几种方法,也许对【yě xǔ duì】你有所🚓帮助。

SQL Server Import/Export

SQL Server自带的【zì dài de】🍾导入导出向导【chū xiàng dǎo】,大部分情况下【qíng kuàng xià】有效【yǒu xiào】。我推荐的步骤是先创🖤建目标🐕数据🥐库的脚【kù de jiǎo】本,让🅰SQL Server只传输【zhī chuán shū】数据🥐,而不是【ér bú shì】既创建🤴表🦌,又传输【yòu chuán shū】数据🥐,以减少一些很奇怪的错误。

这个工【zhè gè gōng】🚖具用的🚠不多,有各种🥜奇怪的问题【wèn tí】,没有积累多的【lèi duō de】经验。

SQL Object Level Recovery Native

RedGate公司【gōng sī】🧝SQL Toolbet系列组🕍件的一个,可🛤以从SQL Server的备份🎮文件中😛生成带😱数据的SQL语句,在目标数据库【shù jù kù】中🍵直接执行即可【háng jí kě】🛤。这种方【zhè zhǒng fāng】法的成功率很高【gāo】,简单的【jiǎn dān de】带数据【dài shù jù】🔉的SQL INSERT语句,在任何【zài rèn hé】🤟版本的SQL Server中🍵,都可🛤以很正确的插【què de chā】入数据【rù shù jù】。

点击【diǎn jī】🕞View Recovery Script,可以查🤾看它生成的🕕SQL 脚本【jiǎo běn】,直接把备份数🐬据文件【jù wén jiàn】转化为SQL语句【yǔ jù】,相当方便。

目前支🚮持【chí】SQL Server 2008 R2的备份🕷集,可以满👃足绝大【zú jué dà】部分客户的应【hù de yīng】用。

SQL Query  Generator

公司的工具库【gōng jù kù】里面的🙀一个工具【jù】,一般是【yī bān shì】💸给客户维护💿(support)人员用😂,用于快【yòng yú kuài】速导入导出数据。

以💍Northwind数据库为例子😒,可以马📗上生成【shàng shēng chéng】💯这个表的INSERT语句,保存到【bǎo cún dào】剪贴板中【zhōng】,例子语【lì zǐ yǔ】句如下【jù rú xià】所示💨

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', '2025-07-05 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')

这样,很方便📶的搬动数据库🏥到另一个位置【gè wèi zhì】,简单灵活。对于图片数据【piàn shù jù】,要单独🥚处理。对于有种子字🤵段的列【duàn de liè】,要在导【yào zài dǎo】入前,开启😇,语句如【yǔ jù rú】💊下所示【xià suǒ shì】

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

对于主【duì yú zhǔ】从表【biǎo】数据【jù】🏴,先导入🤜主表【biǎo】,再导入从表【biǎo】。删除主【shān chú zhǔ】🆑从表【biǎo】数据【jù】🏴,则是先【zé shì xiān】📎删从表【biǎo】,再删主🎏表【biǎo】。

LLBL Gen

作为ORM的基本【de jī běn】💩特征,跨数据库🏏平台【píng tái】。你可以运用此【yùn yòng cǐ】特点🌮,从一个数据库🏏中读取,然后改【rán hòu gǎi】变连接🎢字符串,在另一个数据库🏏中保存【zhōng bǎo cún】🤲,完成数据库🏏的【de】😂转移工【zhuǎn yí gōng】作。以销售【yǐ xiāo shòu】单为例子,读取销🍳售单的【de】☝代码【dài mǎ】🥟,看起来😆是这样【shì zhè yàng】的【de】😂

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; }

同时🌶,保存销售单的【shòu dān de】代码🎌,看起来【kàn qǐ lái】是这样🎵的【de】

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; }

这些代【zhè xiē dài】码均是由代码🤸生成器直接生【zhí jiē shēng】成的。完成数🧦据转移【jù zhuǎn yí】的ORM代码,看起来❣是这样【shì zhè yàng】子的👧

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);

就这样👂几句代【jǐ jù dài】🚗码,把销售【bǎ xiāo shòu】单数据从🕉192.168.0.96的机器搬动到【bān dòng dào】192.168..0.200的机器上。

更进一步的【bù de】,这几句🐌代码可【dài mǎ kě】以写成🚑一个泛型的方法❕,传入参数【shù】,即可达【jí kě dá】🧝到批量搬动数【shù】据【jù】🎼。

以我的理解和【lǐ jiě hé】❎摸索【mō suǒ】,当前仍【dāng qián réng】然是让【rán shì ràng】项目使⛑用主流【yòng zhǔ liú】🤹的SQL Server 2005,搭配🍊Express版本的SQL Server 2008, 2008 R2,这样可以读取【yǐ dú qǔ】高于SQL Server 2005的客户数据库📛,兼容于👆更新的数据库📛。为了在不同的版本的SQL Server之间互导数据【dǎo shù jù】,供您参考【kǎo】🚟。

关键词:SQL,数据库

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视