SQL Profiler可記錄所有的操作---
开始--程序--MS SQLSERVER
--事件探察器(SQL Profiler)
--文件
--新建
--设置跟踪的项目...
--然后数据库的调用情况就会显示出来

解决方案 »

  1.   

    你的需求建議用:利用数据库复制技术 实现数据同步更新
    复制的概念
    复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
    SQL复制的基本元素包括
    出版服务器、订阅服务器、分发服务器、出版物、文章
    SQL复制的工作原理
    SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器
    SQL SERVER复制技术类型
    SQL SERVER提供了三种复制技术,分别是:
    1、快照复制(呆会我们就使用这个)
    2、事务复制
    3、合并复制
    只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。
    第一先来配置出版服务器
    (1)选中指定[服务器]节点
    (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令
    (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
    (4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)
    第二创建出版物
    (1)选中指定的服务器
    (2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框
    (3)选择要创建出版物的数据库,然后单击[创建发布]
    (4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助) 
    (5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
    (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
    (7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
    第三设计订阅
    (1)选中指定的订阅服务器
    (2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
    (3)按照单击[下一步]操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行复制操作的前提条件是SQL SERVER代理服务必须已经启动。
    (4)单击[完成]。完成订阅操作。
    完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表
    /***************** 常见问题:权限问题 启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
    你用的账号没有读取\\ServerA\D$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录下的文件的权限。
    启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
    ----^^^^^^^^^^^^^^^在控制面板-->管理-->服务-->sqlagent-->属性里的那个启动用户
      

  2.   

    使用SQL Server的LogShipping功能完全可以達到這個要求!
      

  3.   

    我覺得LogShipping比複製好很多!!
      

  4.   

    直接用日志传送来实现就行了:日志传送
    在 Microsoft® SQL Server™ 2000 企业版中,可以使用日志传送不间断地将事务日志从一个数据库提供给另一个。不间断地从源数据库中备份事务日志,然后将它们复制并还原到目的数据库,使目的数据库与源数据库保持同步。这使您得以有一台备用服务器,为将查询处理从主计算机(源服务器)卸载到只读目的服务器上提供了一条途径。日志传送使用的所有服务器上都必须安装 SQL Server 2000 企业版。
      

  5.   

    使用数据库维护计划向导配置日志传送
    若要很容易地配置日志传送,请使用数据库维护计划向导。利用此向导您将可以: 定义日志生成频率、备份与还原操作之间的时间以及什么时候目的服务器与源服务器异步。
    注册任何新的服务器。
    在所有目的服务器上创建源数据库。在通过数据库维护计划向导添加目的数据库时,可以选择在目的服务器上创建数据库或使用现有数据库。在为日志传送配置数据库之前,任何现有数据库必须为备用模式。
    指定哪台目的服务器可以采用源服务器角色。
    设置还原延迟。还原延迟定义还原事务日志前必须等待的时间。如果源服务器出现故障,该延迟将为损坏的日志被还原到目的服务器上之前提供额外时间。
    创建调度来设置备份调度。 
    在使用数据库维护计划向导之前,需要考虑下列事项: 配置日志传送的用户必须是 sysadmin 服务器角色成员,以便有权修改要进行日志传送的数据库。 
    一次只能在一个数据库上配置日志传送。如果选择的数据库不止一个,向导上的日志传送选项将禁用。 
    用于启动 MSSQLServer 和 SQLServerAgent 服务的登录必须能够访问日志传送计划作业、源服务器和目的服务器。
    当使用数据库维护计划向导配置日志传送时,只能将日志传送到磁盘。备份到磁带选项不可用。 
    手工配置日志传送
    如果在运行 SQL Server 7.0 Service Pack 2 (SP2) 的计算机上启用挂起升级选项,则 SQL Server 2000 支持从 SP2 事务日志手工传送日志。 若要启用此选项,请执行下列代码:EXEC sp_dboption 'database name', 'pending upgrade', 'true'但是,当在传送日志后还原数据库时,只能使用 NORECOVERY 选项恢复数据库。说明  在运行 SP2 的计算机和运行 SQL Server 2000 实例的计算机之间手工配置日志传送时,不能使用 SQL Server 复制。
    有关更多信息,请参见 SP2 文档。配置日志传送企业管理器如何配置日志传送(企业管理器)
      新增信息 - SQL Server 2000 SP3。使用数据库维护计划向导配置日志传送
     
    说明  在配置日志传送之前,必须在主数据库上创建一个共享以使事务日志可用。这是从事务日志转储目录创建的共享。例如,如果将日志转储到目录 e:\data\tlogs\,则可以从该目录创建 \\logshipping\tlogs 共享。在"选择数据库"屏幕上,选择"如下数据库"复选框,然后选择要进行日志传送的数据库。 
    如果选择了多个数据库,则不会执行日志传送,日志传送选项也不可用。不允许选择已配置了日志传送的数据库。选择"将事务日志传送到其它的 SQL Server(日志传送)"复选框。
    继续执行向导,指定其余的数据库维护选项,直到到达"指定日志传送目的"屏幕。
    单击"添加"按钮添加目的数据库。 
    要使该选项可用,必须已经在向导的前面步骤中选择了使用日志传送。在"添加目的数据库"屏幕中,选择一个服务器名。 
    该服务器必须已经注册,而且正在运行 Microsoft® SQL Server™ 2000 企业版,这样才能显示在下拉列表中。如果要使该目的成为可用的源数据库,必须选择“允许数据库采用主角色”复选框。如果该复选框未被选中,则该目的数据库将来就无法采用源数据库角色。如果已选定“允许数据库采用主角色”复选框,还必须在日志将要备份到的目的数据库中指定"事务日志备份目录"。若要从默认位置更改事务日志目的数据库,请在"目录"框中输入一个位置。
    如果源数据库不在目的数据库上,则选择"创建新数据库"复选框。 
    "数据库名称"框将默认为源数据库名。如果想要在目的服务器上用另一个数据库名,则指定一个新名称。如果已经选择了允许该目的数据库承担源角色,就无法从默认值改变该数据库的名称。如果已经选择了"创建新数据库"复选框,则还必须在"用于数据"和"用于日志"框中指定目的数据库上数据和日志的文件目录。
    如果源数据库已经存在于目的数据库上,则选择"使用现有数据库"复选框。如果目的服务器上的数据库名不同,则在"数据库名称"框中输入该名。该数据库必须是使用 WITH STANDBY 选项还原过的,以便正确接受日志。
    在"初始化目的数据库"屏幕上,执行下列操作之一: 
    单击"立即提取完全数据库备份"。 
    –或-单击"使用最新备份文件"以初始化目的数据库。 
    在"日志传送调度"屏幕上,查看默认的日志传送调度。如果要改变调度,请单击"更改"。
    在"复制/装载的频率"框中,设置希望目的服务器从源服务器备份和还原事务日志的频率(以分钟计)。
    在"装载延迟"框中,设置希望目的数据库从源服务器还原事务日志之前要等待的延迟(以分钟计)。 
    该框的默认值为 0 分钟,表示目的数据库应立即还原所有事务日志备份。在"文件保持期"框中指定事务日志在删除之前应该存留的时间长度。
    从"日志传送阈值"对话框中,设置"备份警报阈值"。 
    这是距离源服务器上一次事务日志备份时间的最长期限。一旦时间超过此指定阈值,监视服务器将生成警报。在"不同步警报阈值"框中,指定源服务器上最近一次事务日志备份与目的服务器最近一次事务日志还原之间的时间。 
    一旦时间超过此指定阈值,监视服务器将生成警报。在"指定日志传送监视器信息"屏幕中,键入将监视日志传送的服务器名称。
    单击"使用 Windows 身份验证"或"使用 SQL Server 身份验证"连接到监视服务器。log_shipping_monitor_probe 登录名是固定的,必须使用它连接到监视服务器。如果这是一个新帐户,则选择一个新密码。如果该帐户已经存在于监视服务器上,则必须指定现有的密码。  
    安全说明  如果可能,请使用 Windows 身份验证。
     
    说明  使用数据库维护向导设置日志传送,只可以向磁盘传送日志,而不能使用"备份到磁带"选项。
    删除日志传送企业管理器如何删除日志传送(企业管理器)
    删除日志传送 展开一个服务器组,然后展开一个主服务器。
    展开管理,然后单击"数据库维护计划"。
    在详细信息窗格中,右击要删除的数据库维护计划,然后单击"属性"。
    单击"日志传送"选项卡,然后单击"删除日志传送"。 
    这可以停止主服务器上的日志传送,并删除所有辅助服务器以及监视服务器。必须删除数据库维护计划,才能删除附加的作业。
      

  6.   

    谢谢大家给了很多意见,不过现在存在的问题是两台服务器不是一直联网的,一台是托管的(主),一台是局域网的(子),子每天定时联网,而且网络可能不是太好,所以用SQL内部的怕出问题,占用数据量肯定大,所以我人为比较好的办法就把这台数据库今天执行的SQL记成文件,传一个1M左右的TXT文件是最省时省力的,但我程序里用的hibernate,所以无法记录操作的SQL,我想知道SQLSERVER里如何记录当天执行的SQL
      

  7.   

    在sql server里所有的操作都会记录到日志里,这样可以回滚,但像truncate这样的语句不会把记录保存的
      

  8.   

    用第三方工具查日志记录www.heibai.netLog Explorerhttp://www.ttdown.com/SoftDown.asp?ID=14562
    http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
    解压缩密码 www.heibai.nethttp://www.ttdown.com/softview_8647.htm
    注册机产生的是注册码,是两个用解压缩密码解开后,压缩包里也有一个注册机的打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
    选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
    想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
    T-sql代码就可以了例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....------------------------------------------------------------------------log explorer使用的一个问题1)对数据库做了完全 差异 和日志备份
    备份时选用了删除事务日志中不活动的条目
    再用Log explorer打试图看日志时
    提示No log recorders found that match the filter,would you like to view unfiltered data
    选择yes 就看不到刚才的记录了
    如果不选用了删除事务日志中不活动的条目
    再用Log explorer打试图看日志时,就能看到原来的日志2)修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复3)然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
    否则会出现数据库正在使用无法恢复)
    恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
    选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.