老男人百科 > 百科 > 正文

sql2012数据库维护计划(sqlserver2012 备份维护计划)

2023-04-30 04:22:51 阅读( 1294)

2012年第二季度,SQLServer2012就已经发布。

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.CreateProxyInstanceISalesOrderManager();

SalesOrderEntity salesOrder=manager.GetSalesOrder(customerNo, null);

ClientProxyFactory.ConnectionString=destination;

manager.SaveSalesOrder(salesOrder);

这样,几个代码就将销售订单数据从192.168.0.96机器移动到192.168.0.200机器。

此外,这些代码可以编写为一个通用方法,并且可以传入参数来批量移动数据。

根据我的了解和探索,目前项目仍然使用主流的SQL Server 2005,有SQL Server 2008的Express版本,2008 R2。

这样可以读取比SQL Server 2005更高的客户数据库,与更新后的数据库兼容。为了在不同版本的SQL Server之间交换数据,供大家参考。

专题页